没有名为“virtualenvwrapper”的模块

我正在使用Ubuntu 14.04 LTS实例在Amazon EC2上设置一个Django项目。 我想写我的代码使用Python 3.我已经被build议,最好的办法是使用virtualenvwrapper 。 我已经成功安装了virtualenvwrapper

 export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.4 export PROJECT_HOME=$HOME/Devel source /usr/local/bin/virtualenvwrapper.sh 

到我的.bashrc文件中。 现在我明白了:

  /usr/bin/python3.4: Error while finding spec for 'virtualenvwrapper.hook_loader' (<class 'ImportErro r'>: 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/bin/python3.4 and that PATH is set properly. 

我怎样才能解决这个问题?

而不是用-p标志指定一个不同的python解释器,你也可以把你想要的解释器配置成默认的。

根据virtualenvwrapper的文档 , virtualenvwrapper.sh找到$PATH的第一个pythonvirtualenv程序,并记住它们以后使用。

如果你的操作系统默认的python解释器( /usr/bin/python )没有安装virtualenvwrapper ,请确保你覆盖了如下的环境变量:

  • VIRTUALENVWRAPPER_PYTHON到你的python解释器的完整路径
  • VIRTUALENVWRAPPER_VIRTUALENV到virtualenv的完整路径

例如,在我的.bash_profile (Mac)上:

 #virtualenvwrapper export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.5/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=/Library/Frameworks/Python.framework/Versions/3.5/bin/virtualenv source /Library/Frameworks/Python.framework/Versions/3.5/bin/virtualenvwrapper.sh 

通过运行source ~/.bash_profile重新加载你的新变量

按照乔恩的建议,我跑了:

  ubuntu@ip-172-31-22-65:~$ mkvirtualenv -p /usr/bin/python3.4 env1 Running virtualenv with interpreter /usr/bin/python3.4 Using base prefix '/usr' New python executable in env1/bin/python3.4 Also creating executable in env1/bin/python Installing setuptools, pip...done. (env1)ubuntu@ip-172-31-22-65:~$ deactivate ubuntu@ip-172-31-22-65:~$ ls ubuntu@ip-172-31-22-65:~$ ls -a . .. .bash_history .bash_logout .bashrc .cache .pip .profile .ssh .virtualenvs ubuntu@ip-172-31-22-65:~$ workon env1 ubuntu@ip-172-31-22-65:~$ workon env1 (env1)ubuntu@ip-172-31-22-65:~$ which python /home/ubuntu/.virtualenvs/env1/bin/python (env1)ubuntu@ip-172-31-22-65:~$ python -V Python 3.4.0 

我已经离开了上面列出的.bashrc。 正如Jon所说,安装virtualenvwrapper安装在默认的python上,并且在你创建的任何virtualenv中使用默认的python,除非使用-p标志来指定不同的python解释器。

谢谢乔恩!

如果你使用brew来安装python,你将需要确保你设置这个环境变量:

 export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python 

在你的bash_profile(或者你正在使用的任何shell)中。