当前位置: 首页>>技术教程>>正文


python – 没有名为’virtualenvwrapper’的模块

, , , ,

问题描述

我正在使用Ubuntu 14.04 LTS实例在Amazon EC2上设置Django项目。我想使用Python 3编写我的代码。有人建议我最好的方法是使用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解释器外,您还可以将所需的解释器配置为默认值。

根据virtualenvwrapperdocumentationvirtualenvwrapper.sh$PATH上找到第一个pythonvirtualenv程序,并记住它们供以后使用。

如果您的OS的默认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重新加载新变量

次佳方案

最近的自制软件更新后,我遇到了同样的问题。

过去,大多数人都会将pip install virtualenvwrapper运行到系统站点程序包中并且可以正常工作。

Homebrew通过1)不再遮蔽系统python和2)不再将pip符号链接到pip2/pip3打破了此工作流程。

大多数用户在找不到pip时会意识到这一点,然后尝试使用pip2/pip3。但是,使用pip2/pip3会产生问题,因为现在已为python2/python3安装了virtualenvwrapper,但尚未为python安装。因此,当virtualenvwrapper运行并调用python时,它将在系统python的站点包中找不到virtualenvwrapper/virtualenv python包。

显式设置VIRTUALENVWRAPPER_PYTHON是最干净的修补程序,而不是hack。这是我在dotfile中所做的方法

export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3

第三种方案

如果使用brew安装python,则需要确保设置以下环境变量:

export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python

在您的bash_profile(或您使用的任何 shell )中。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8409.html,未经允许,请勿转载。