我从源代码中构建了python3.8.12,并将其安装在没有任何其他python的机器上的/python3中。没有“系统”软件包。(它是Rocy8.5Linux)
现在,我从那个python创建并激活一个venv:
/python3/bin/python -m venv myvenv
source myvenv/bin/activate现在,我从本地存储库在这个venv中安装包。
pip install -r requirements.txt --index-url=file:///python3/pypkgs/simple存储库是用pip2pi构建的。这一切都是为完全的气隙部署而设计的。
现在我不能导入selinux,因为它显然不知道venv中的selinux,而是搜索系统。
(myvenv) [root@node1]# python -c "import selinux"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/root/myvenv/lib/python3.8/site-packages/selinux/__init__.py", line 104, in <module>
check_system_sitepackages()
File "/root/myvenv/lib/python3.8/site-packages/selinux/__init__.py", line 100, in check_system_sitepackages
raise Exception(
Exception: Failed to detect selinux python bindings at ['/python3/lib/python3.8/site-packages']我以selinux包为例,因为这是我目前面临的问题。还不确定这是否是一个更广泛的问题。虽然还没有进行详尽的测试,但并没有任何其他的问题。
发布于 2022-02-28 20:32:45
好吧,我想我把它修好了。不知道这是多么可怕的修复。
首先,我在系统/python3中安装了selinux (显然您不能在venv中使用selinux -必须是系统级别吗?)
然后我将/python 3/bin/python硬编码到以下一行:https://github.com/pycontribs/selinux/blob/321d66619ed59bec00a9dc6216ce417d7befec41/selinux/__init__.py#L76
https://stackoverflow.com/questions/71300223
复制相似问题