gpt4 book ai didi

python - 使用 Python virtualenv --system-site-packages 安装本地包

转载 作者:行者123 更新时间:2023-12-02 04:21:43 25 4
gpt4 key购买 nike

我知道这个主题已经被击败,但我一直无法找到解决方案来解决我在 SO 或其他地方遇到的问题,所以我怀疑我的系统中的某个地方可能存在错误。

我使用的是带有 Python 3.4 的旧版 RHEL 6 平台。我正在开发一个将在使用 Qt 的平台上运行的应用程序。我已经通过 yum 安装了所有相关库(例如 qt-devel、pyqt4-devel 等),现在想要安装使用 pip install -e mypkg 将我的应用程序包作为“可编辑”包。我还有一些不在 yum 上的依赖项要求,必须通过 pip 安装。

我想做的是创建一个 virtualenv,它“继承”通过 yum 安装的系统软件包,但允许我将自己的软件包 pip install 到 virtualenv 目录中在我的主目录中。

从我的谷歌搜索看来,最好的方法是使用系统的站 pip 包目录创建一个虚拟环境:

$ python3 -m venv --system-site-packages ~/venv

但是,当我尝试将包安装到此 virtualenv 的 site-packages 目录时,它尝试将其安装在 /usr/lib 下,并且我收到 权限被拒绝错误。

所以看来 --system-site-packages 选项使我的 virtualenv 完全共享系统中的 site-packages 目录,而不是将其用作“基础”,更多的包可以在其中分层在上面。

This answer指出使用 pip install -I 应该执行我想要的操作,但情况似乎并非如此:

(venv) $ pip3 install -I bitstring
...
error: could not create '/usr/lib/python3.4/site-packages/bitstring.py': Permission denied

最佳答案

创建不带 --system-site-packages 开关的虚拟环境。创建环境后,转到创建环境的文件夹。它应该有一个文件pyvenv.cfg。编辑此文件。它有(以及其他文本)一行

include-system-site-packages = false

将此行更改为:

include-system-site-packages = true

激活环境。模块安装现在将进入虚拟环境,并且系统站 pip 包也可见。

关于python - 使用 Python virtualenv --system-site-packages 安装本地包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55600132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com