【问题标题】:preventing addition of system Python path to virtualenv easy-install.pth by python setup.py develop防止通过 python setup.py develop 将系统 Python 路径添加到 virtualenv easy-install.pth
【发布时间】:2013-08-02 22:25:50
【问题描述】:

当我尝试通过python setup.py develop 将正在开发中的Python 包与distribute 添加到virtualenv 时,系统Python 路径(我的Ubuntu 13.04 系统上的/usr/lib/python2.7/dist-packages)会自动添加到virtualenv 的easy-install.pth文件。当正在开发的包具有在系统 Python 路径中可用的依赖项时,这似乎会发生,即使它也在 virtualenv 中安装并处于活动状态。当 virtualenv 中已经安装了所需的包时,是否有某种方法可以防止 python setup.py develop 将系统 Python 路径添加到 easy-install.pth?我想避免将系统 Python 路径添加到 easy-install.pth,因为它混淆了在 virtualenv 和系统 Python 路径(例如 ipython)中都可用的 Python 包的 distribute 入口点机制。

【问题讨论】:

  • 你是否在你的 virtualenv 中运行了activate
  • 是的 - 我正在运行安装在 virtualenv 中的 python 可执行文件。

标签: python virtualenv setuptools setup.py distribute


【解决方案1】:

当你这样做时

python setup.py develop

您用来运行 setup.py 的 ^ python 不一定与虚拟环境相关联。您需要通过直接导航到虚拟环境中的 python.exe 并使用它来运行 setup.py 来确保您正在运行 virtualenv 的 python 版本。

或者,您也可以在脚本文件夹中调用activate.bat,它会为您完成所有工作,确保不使用虚拟环境之外的任何内容。

编辑如果您确定您使用的是 virtualenv 的 python.exe,请确保在创建虚拟 env 时使用了 --no-site-packages 标志

virtualenv --no-site-packages myEnv

edit2 --no-site-packages 似乎是 OP 的问题

【讨论】:

  • 我确认我正在运行 virtualenv 自己的 python 可执行文件。
  • @lebedov 您是否使用了 --no-site-packages 标志?
  • 谢谢 - 这就是问题所在。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多