指向正确的python版本时出错:virtualenvwrapper.sh

Che*_*075 4 python virtualenv

启动终端时出现此错误:

Last login: Thu Apr  9 19:49:08 on ttys001
/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: No module named virtualenvwrapper
virtualenvwrapper.sh: There was a problem running the initialization hooks. 

If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/2.7/bin/python and that PATH is
set properly.
dhcp-128-189-78-23:~ user_me$ 
Run Code Online (Sandbox Code Playgroud)

我需要将我的虚拟环境"指向"我正在使用的python版本.

我怎样才能做到这一点?

Liz*_*ett 11

我有同样的问题,更新我的路径没有任何帮助,也没有设置VIRTUALENVWRAPPER_PYTHON和VIRTUALENVWRAPPER_VIRTUALENV.这是因为我在运行我的python版本时看到了这种奇怪的行为:

$ /usr/local/bin/python
Python 2.7.6 (v2.7.6:3a1db0d2747e, Nov 10 2013, 00:42:54)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print sys.executable
/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
Run Code Online (Sandbox Code Playgroud)

通过使用brew卸载python,使用brew重新安装python,并强制它覆盖/ usr/local/bin中的现有符号链接,我能够解决所有问题.

$ brew uninstall --force python
$ brew install python
$ brew link --overwrite python
$ brew linkapps python
$ pip install --upgrade pip setuptools
$ sudo pip uninstall virtualenv
$ pip install virtualenv
$ sudo pip uninstall virtualenvwrapper
$ pip install virtualenvwrapper
Run Code Online (Sandbox Code Playgroud)

希望你在六个月前遇到这个问题时能够解决这个问题.我希望发布我的解决方案,以防其他人遇到同样的问题而无法通过设置路径和env变量来解决它.


d.a*_*d.a 10

以下内容可在virtualenvwrapper安装指南中找到.您可以尝试这样设置$ PATH正确.

要覆盖$ PATH搜索,请将变量VIRTUALENVWRAPPER_PYTHON设置为要使用的解释器的完整路径,并将VIRTUALENVWRAPPER_VIRTUALENV设置为要使用的virtualenv二进制文件的完整路径.必须在采购virtualenvwrapper.sh之前设置这两个变量.例如:

export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
Run Code Online (Sandbox Code Playgroud)