我使用的是setuptools,我正在运行virtualenv。当我尝试安装--user时,我遇到了问题:
我是否应该使用--user,因为我在virtualenv中?
exec ../virtualenv/target/vroot/bin/python setup.py install --user
running install
Checking .pth file support in /Users/benson/.local/lib/python2.7/site-packages/
/Users/benson/x/ws-client-bindings/python/setup/../virtualenv/target/vroot/bin/python -E -c pass
TEST FAILED: /Users/benson/.local/lib/python2.7/site-packages/ does NOT support .pth files
error: bad install directory or PYTHONPATH
答案 0 :(得分:4)
user directory是Python的一部分,而不是virtualenv。安装到用户的软件包看起来像系统软件包(它们将在virtualenv之外提供)。因此,它不是用于隔离特定应用程序的包需求和版本的解决方案。
标准程序是激活virtualenv并使用不带--user选项的安装。
答案 1 :(得分:2)
是的,我建议删除该使用模式,并使用直接从 virtualenv 的bin
目录调用的 pip 安装所有内容。我发现从 virtualenv 安装/运行时的绝对路径是最好的,因为在这种情况下,从来没有任何关于它正在使用哪一个的问题。
然后,您可以为每个 virtualenv (通过pip freeze > requirements
)跟踪要求文件(例如,在源代码管理中),以便他们可以快速在别处创建。