Mac OS X中的virtualenv问题

gig*_*mon 41 python macos operating-system virtualenv

我已经安装了virtualenvvia pip并在创建新环境后出现此错误:

selenium:~ auser$ virtualenv new  
New python executable in new/bin/python  
ERROR: The executable new/bin/python is not functioning  
ERROR: It thinks sys.prefix is u'/System/Library/Frameworks/Python.framework/    Versions/2.6' (should be '/Users/user/new')  
ERROR: virtualenv is not compatible with this system or executable  
Run Code Online (Sandbox Code Playgroud)

在我的环境中:

PYTHONPATH=/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages  
PATH=/System/Library/Frameworks/Python.framework/Versions/2.6/bin:/Library/Frameworks/Python.framework/Versions/2.6/bin:/Library/Frameworks/Python.framework/Versions/2.6/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin  
Run Code Online (Sandbox Code Playgroud)

我该怎么修呢?

谢谢.

was*_*909 109

以防有人仍在寻找答案.

我今天遇到了同样的问题并且意识到我已经安装了Anaconda,我不应该习惯pip install virtualenv安装虚拟环境,因为这会在尝试稍后启动时给出错误消息.相反,我尝试conda install virtualenv然后进入virtualenv env_mysite,问题解决了.

  • 我已经安装了anaconda.我从pip卸载并安装了conda:pip uninstall virtualenv - conda install virtualenv - virtualenv my_project (12认同)

Han*_* Li 6

如果将来有人遇到这个问题 - 这是由你的默认Python发行版为conda引起的.Conda有它自己的虚拟环境设置过程但是如果你有python的conda发行版并且仍然希望在这里使用virtualenv:

  1. 在您的机器上找到其他python发行版: ls -ls /usr/bin/python*

  2. 注意不是conda的availble python版本并运行下面的代码(注意python 3及以上版本,你必须首先升级virtualenv): virtualenv -p python2.7(or your python version) flaskapp


kro*_*ens 5

就像@RyanWilcox提到的那样,你可能会无意中指向virtualenv错误的Python安装.Virtualenv带有一个-p标志,可让您指定要使用的解释器.

就我而言,

virtualenv test_env
Run Code Online (Sandbox Code Playgroud)

和你一样犯了同样的错误

virtualenv -p python test_env
Run Code Online (Sandbox Code Playgroud)

工作得很好.

如果你打电话virtualenv -h,那个-p标志的文档会告诉你它认为它应该使用哪个python; 如果它看起来很糟糕,试试通过-p python.作为参考,我正在使用virtualenv 1.11.6.


Bri*_*per -3

如果您仍然遇到问题virtualenv,您可以尝试使用pythonbrew。这是同一问题的替代解决方案。它的工作方式更像是 Ruby 的rvm:它在 下构建并创建整个 Python 实例$HOME/.pythonbrew,然后设置一些 bash 函数,使您可以在版本之间轻松切换。影子virtualenvPython 的系统版本,使用符号链接作为其解决方案的一部分,pythonbrew构建完全独立的 Python 安装。

我用了virtualenv很多年了。这是一个不错的解决方案,但我最近改用了pythonbrew。拥有完全独立的 Python 实例意味着安装一个新实例需要一段时间(因为pythonbrew实际上是从头开始编译 Python),但每个安装的独立性质吸引了我。而且磁盘很便宜。

  • 被否决,因为我更喜欢让 virtualenv 工作的解决方案 - 对我来说,它是“conda install virtualenv”作为另一个答案。 (6认同)