用于在virtualenvs中使用的Shim RPM模块。
项目描述
rpm-shim
用于在虚拟环境中使用的Python RPM Shim模块。
目的
RPM Python绑定与系统RPM安装相关联,并且作为Python包(在PyPI或其他地方)不可用。此Shim模块使能够在虚拟环境中导入和使用绑定。
在虚拟环境之外的裸系统上安装此Shim模块没有意义。它仍然可以工作,但没有好处。如果您无论如何都要这样做,请注意不要覆盖已安装的RPM Python绑定。
示例
以下是一个如何使用此模块在新创建的虚拟环境中启用RPM Python绑定的场景。首先在主机系统上运行命令。
# make sure RPM Python bindings are installed and functional
$ rpm -q python3-rpm
python3-rpm-4.18.0-1.fc37.x86_64
$ pip list
Package Version
---------- -------
rpm 4.18.0
$ python -c "import rpm; print(rpm.__version__)"
4.18.0
# let's create a virtualenv
$ python -m venv env
$ source env/bin/activate
# the bindings are not accessible there
(env) $ python -c "import rpm; print(rpm.__version__)"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'rpm'
# install the shim module from PyPI
(env) $ pip install rpm
...
Successfully installed rpm-0.1.0
# now we can import the bindings
(env) $ python -c "import rpm; print(rpm.__version__)"
4.18.0
使用与系统Python版本不同的Python版本使用RPM绑定
在许多系统上,Shim模块将能够找到系统安装的RPM绑定,即使您使用的是不同的Python版本(例如,Fedora 38默认附带Python 3.11,但Shim模块也可以在Python 3.10虚拟环境中工作)。
在某些发行版(尤其是Debian/Ubuntu)上,它将无法工作并引发ModuleNotFoundError: No module named 'rpm._rpm'
。这是因为这些发行版在_rpm.so
文件名中编码了Python版本:_rpm.cpython-38-x86_64-linux-gnu.so
。
您可以通过创建指向通用_rpm.so
名称的符号链接,使Shim模块在这样系统上工作。
for file in /usr/lib/python3/dist-packages/rpm/_rpm*.cpython-*.so; do
sudo ln -s ${file} $(echo ${file} | sed 's/\.cpython[^.]*//');
done
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
rpm-0.2.0.tar.gz (10.3 kB 查看散列)
构建分发
rpm-0.2.0-py3-none-any.whl (4.4 kB 查看散列)
关闭
rpm-0.2.0.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | b92285f65c9ddf77678cb3e51aa67827426408fac34cdd8d537d8c14e3eaffbf |
|
MD5 | 201dff53ae9643e397b48fd5fe259696 |
|
BLAKE2b-256 | 441bef44b5e2fae8e398bfc58f38c25a6f0a10ea147e3e4970b7e66154017d1d |
关闭
rpm-0.2.0-py3-none-any.whl 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 4050b6033f7403be0a34f42a742c49ba74f2b0c6129f0247115b6078b24ddd71 |
|
MD5 | 5d20ea0da84b7a9befcd316d92f7d866 |
|
BLAKE2b-256 | 0f196195279a4dda8480faaaca40f61b2a295a6cb398da6da64f4f50c0987867 |