【问题标题】:Can't use Python virtualenv on OSX?不能在 OSX 上使用 Python virtualenv?
【发布时间】:2016-04-13 00:57:40
【问题描述】:

我在 OSX 上遇到了 Python virtualenv 问题。在创建一个 virtualenv 并执行 pip freeze 之后,它说它已经安装了一长串东西,实际上是我在我的主要 pip 安装(在 virtualenv 之外)上安装的东西:

kramer65$ virtualenv venv
New python executable in venv/bin/python
Installing setuptools, pip, wheel...done.
kramer65$ source venv/bin/activate
(venv)kramer65$ which pip
/Users/kramer65/repos/venv/bin/pip
(venv)kramer65$ pip freeze
apns==2.0.1
APScheduler==3.0.4
argh==0.26.1
Babel==1.3
beautifulsoup4==4.4.1
etc.
etc.

我有 virtualenv 版本 13.1.2,我认为它是最新的。

所以为了确保我尝试使用直接链接调用 pip,但结果相同:

(venv)kramer65$ ./venv/bin/pip freeze
apns==2.0.1
APScheduler==3.0.4
etc.
etc.

甚至通过 virtualenv python 调用 pip:

(venv)kramer65$ ./venv/bin/python venv/bin/pip freeze
apns==2.0.1
APScheduler==3.0.4
etc.
etc.

我也卸载并重新安装了 virtualenv,但结果相同。有人知道为什么我似乎无法调用已安装 virtualenv 的 Python 吗?欢迎所有提示!

[编辑]

根据下面@sushant 的建议,我尝试使用--no-site-packages

kramer65$ virtualenv --no-site-packages venv
New python executable in venv/bin/python
Installing setuptools, pip, wheel...done.
kramer65$ source venv/bin/activate
(venv)kramer65$ pip freeze
apns==2.0.1
APScheduler==3.0.4
argh==0.26.1
Babel==1.3
beautifulsoup4==4.4.1
etc.
etc.
(venv)kramer65$ which pip
/Users/kramer65/repos/venv/bin/pip

【问题讨论】:

  • which python 显示什么?
  • @scytale - which python 显示 /Users/kramer65/repos/venv/bin/python

标签: python macos pip virtualenv


【解决方案1】:

问题是您的virtualenv 安装也包含主site-packages

virtualenv 不会包含 site-packages 如果你这样调用它:

virtualenv --no-site-packages venv

【讨论】:

  • 我尝试了您的建议,但不幸的是事实并非如此。此外,在 Linux 主机上,我对此没有任何问题。如果我在 Linux 上设置一个新的 virtualenv 并执行 pip freeze,我只会安装 wheel==0.24.0
猜你喜欢
  • 2017-01-15
  • 2016-02-13
  • 2018-04-18
  • 2016-03-03
  • 2013-08-27
  • 1970-01-01
  • 2012-10-31
  • 1970-01-01
  • 2018-07-06
相关资源
最近更新 更多