【问题标题】:Stop virtualenv using global site-packages pip?使用全局站点包 pip 停止 virtualenv?
【发布时间】:2018-05-21 13:32:41
【问题描述】:

我在 MacOS 上使用通过 Homebrew 安装的 Python 2.7.14。我该如何阻止这种情况发生?:

$ virtualenv --no-site-packages venv
New python executable in /private/tmp/venv/bin/python2.7
Also creating executable in /private/tmp/venv/bin/python
Installing setuptools, pip, wheel...done.
$ . venv/bin/activate
(venv) $ pip --version
pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7)

我的预期

$ env -i PATH=/tmp/venv/bin pip --version
pip 9.0.1 from /private/tmp/venv/lib/python2.7/site-packages (python 2.7)

编辑:解决方案相关Why does virtualenv inherit $PYTHONPATH from my shell?

【问题讨论】:

  • 你使用的是什么版本的 virtualenv? (--no-site-packages 现在是默认行为,因此不需要它)
  • 虚拟环境 15.1.0。是的,我只是想非常确定没有使用任何站点包。
  • 我的设置和你完全一样,对我来说效果很好。有那么一秒钟,我认为这是与 /private/tmp 的一些奇怪冲突,但我只是没有遇到同样的问题
  • 当你在 virtualenv 中时echo $PATH 会说什么?
  • pip 是特殊的,即使您使用 --no-site-packages,virtualenv 也会创建一个副本

标签: python python-2.7 virtualenv homebrew pythonpath


【解决方案1】:

嗯,这就是诀窍。我用这一行编辑了 venv/bin/activate:

unset PYTHONPATH

【讨论】:

    猜你喜欢
    • 2014-01-24
    • 2014-01-23
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-26
    相关资源
    最近更新 更多