virtualenv与setup.py安装--user

时间:2014-10-21 00:14:56

标签: python

我使用的是setuptools,我正在运行virtualenv。当我尝试安装--user时,我遇到了问题:

  1. 抱怨不支持.pth文件
  2. 似乎是在virtualenv之外安装
  3. 我是否应该使用--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
    

2 个答案:

答案 0 :(得分:4)

user directory是Python的一部分,而不是virtualenv。安装到用户的软件包看起来像系统软件包(它们将在virtualenv之外提供)。因此,它不是用于隔离特定应用程序的包需求和版本的解决方案。

标准程序是激活virtualenv并使用不带--user选项的安装。

答案 1 :(得分:2)

是的,我建议删除该使用模式,并使用直接从 virtualenv bin目录调用的 pip 安装所有内容。我发现从 virtualenv 安装/运行时的绝对路径是最好的,因为在这种情况下,从来没有任何关于它正在使用哪一个的问题。

然后,您可以为每个 virtualenv (通过pip freeze > requirements)跟踪要求文件(例如,在源代码管理中),以便他们可以快速在别处创建。