我最近干净安装了Mac OS 10.10.3,并尝试建立一个python环境。但我无法让virtualenvwrapper工作。
我使用Homebrew安装了python 2和3。
$ which python
/usr/local/bin/python
$ which python3
/usr/local/bin/python3
$ which pip
/usr/local/bin/pip
$ which virtualenv
/usr/local/bin/virtualenv
$ which virtualenvwrapper.sh
/usr/local/bin/virtualenvwrapper.sh
以下是我的.bash_profile中的行
export PATH=/usr/local/bin:$PATH
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
virtualenv独立工作:$ source bin / activate
但是当我采购virtualenvwrapper.sh时。我收到以下错误消息。
/usr/local/opt/python/bin/python2.7: 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=/usr/local/bin/python and that PATH is
set properly.
我无法弄清楚出了什么问题。当我在终端回应VIRTUALENVWRAPPER_PYTHON时。它返回正确的路径。事实上,我的所有路径都是正确的。他们都指向自制程序目录。
我怎样才能让它发挥作用?
自问这个问题已经有一段时间了,但是遇到同样的问题,我想添加我的解决方案以防万一有人可能会发现它有用:
由于virtualenvwrapper是使用Python3安装的,因此可以预见VIRTUALENVWRAPPER_PYTHON
变量将指向Python3路径而不是Python2路径。
也就是说,在.bash_profile中更改:
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
至:
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
然后你可以开始使用virtualwrapper,即使没有为Python2安装(除非你想使用Python2显式创建环境,在这种情况下你必须使用pip2安装它并在虚拟环境创建命令中指定相关的python路径) 。
根据我们的评论交换,你只在python 3上安装了virtualenvwrapper。你还需要在python2上安装它。为此:
curl -O https://bootstrap.pypa.io/get-pip.py python2.7 ./get-pip.py --user~ / .local / bin / pip install virtualenvwrapper我自己的设置正好相反 - 我使用python2进行工作,所以在~x中安装virtualenv for~x / local - 希望有所帮助。
非常感谢你。你的答案指向了正确的方向。
我通过卸载所有的东西virtualenv解决了这个问题。
pip uninstall virtualenv virtualenvwrapper
然后我用pip2.7再次安装了所有内容。
pip2.7 install virtualenv virtualenvwrapper
现在终端没有抱怨我在源virtualwrapper.sh时找不到模块
. /usr/local/bin/virtualenvwrapper.sh
但是,python3是默认的python。
$ mkvirtualenv myenv
Using base prefix '/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4'
New python executable in myenv/bin/python3.4
Also creating executable in myenv/bin/python
Installing setuptools, pip...done.
创建python2 env。我需要这样做:
$ mkvirtualenv myenv --python /usr/local/bin/python
Running virtualenv with interpreter /usr/local/bin/python
New python executable in myenv/bin/python2.7
Also creating executable in myenv/bin/python
Installing setuptools, pip...done.
根据我们的评论交换,你只在python 3上安装了virtualenvwrapper。你还需要在python2上安装它。为此:
curl -O https://bootstrap.pypa.io/get-pip.py
python2.7 ./get-pip.py --user
~/.local/bin/pip install virtualenvwrapper
我自己的设置正好相反 - 我使用python2进行工作,所以在〜/ local中安装3.x的virtualenv - 希望有所帮助。
这解决了我的问题
假设你已经为python2添加了一个别名(mac中默认的python版本)
在~/.bash_profile
上添加这些
export WORKON_HOME=~/.virtualenvs
VIRTUALENVWRAPPER_PYTHON='/usr/local/bin/python3'
source /usr/local/bin/virtualenvwrapper.sh
只需将VIRTUALENVWRAPPER_PYTHON环境变量修改为:
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
然后键入来运行它
source ~/.bash_profile