/ usr/bin/python3:查找'virtualenvwrapper.hook_loader'的规范时出错(<class'ImportError'>:没有名为'virtualenvwrapper'的模块)

ale*_*xus 45 python virtualenv virtualenvwrapper

我正试图在Ubuntu 14.04上跟随如何使用uWSGI和Nginx服务Django应用程序而我在早期阶段失败,由于输出量的原因,我将所有相关信息放入Pastebin.com - #1粘贴工具自2002年!.

实际错误:

root@alexus:~# echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
root@alexus:~# source ~/.bashrc
/usr/bin/python3: Error while finding spec for 'virtualenvwrapper.hook_loader' (<class 'ImportError'>: 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 and that PATH is
set properly.
root@alexus:~#
Run Code Online (Sandbox Code Playgroud)

我正在追问如何磨牙,我做错了什么?

ale*_*xus 59

感谢@Alexander,我能够通过更改来解决我的问题:

export VIRTUALENVWRAPPER_PYTHON =/usr/bin/python3

export VIRTUALENVWRAPPER_PYTHON =/usr/bin/python

由于向后兼容性.

  • 这对我有用,但是就我而言,我需要将其更改为`/ usr / bin / python3.6`。它需要匹配您使用的任何版本。 (3认同)
  • 使用`sudo pip install virtualenv virtualenvwrapper`而不是`sudo pip3 install virtualenv virtualenvwrapper`后工作 (2认同)
  • 这行需要在`~/.bashrc`中更改,对吗?也许为像我这样的菜鸟添加这个 (2认同)

Gag*_*ngh 47

当使用python3和virtualenvwrapper时,我遇到了类似的问题,

sudo apt-get install python3-pip
Run Code Online (Sandbox Code Playgroud)

然后从pip3安装virtualenv和virtualenvwrapper,

sudo pip3 install virtualenv virtualenvwrapper
Run Code Online (Sandbox Code Playgroud)

再来源,

source $HOME/.bashrc 
Run Code Online (Sandbox Code Playgroud)

  • 这个方法对我来说也适用于OSX Mojave.使用`sudo pip3 install virtualenv virtualenvwrapper` (5认同)

Dev*_*evy 23

我遇到了类似的问题virtualenvwrapper抱怨没有找到virtualenvwrapper.hook_loader.我能够缩小到我的这条特定线.bash_profile

来源/usr/local/bin/virtualenvwrapper.sh

如下所示

$ source /usr/local/bin/virtualenvwrapper.sh
/usr/local/opt/python3/bin/python3.6: Error while finding module specification for 'virtualenvwrapper.hook_loader' (ModuleNotFoundError: 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/python3 and that PATH is
set properly.
Run Code Online (Sandbox Code Playgroud)

经过一些试验和错误,事实证明重新安装virtualenvwrapper包解决了它.这是我最近通过自制软件升级python3(从版本3.5.2升级到3.6.1)这一事实的一个事实,反过来它打破了virtualenvwrapper的shell脚本,硬编码引用旧版本的python3(在我的情况下它是3.5. 2).简而言之,这下面的行应该修复它(至少在我的情况下它确实如此).

pip3 install virtualenvwrapper
Run Code Online (Sandbox Code Playgroud)


小智 8

export VIRTUALENVWRAPPER_PYTHON =/usr/bin/python

不错的选择,但你已经知道/ usr/bin/python是2.7

如果要使用版本3

sudo apt-get install python3-pip

并注销和登录


Mat*_*ran 8

我已经安装了virtualenv,所以只需要运行

pip3 install virtualenvwrapper
Run Code Online (Sandbox Code Playgroud)


rtr*_*trt 8

这就是我解决的问题

Error while finding module specification for 'virtualenvwrapper.hook_loader' (ModuleNotFoundError: No module named 'virtualenvwrapper')
Run Code Online (Sandbox Code Playgroud)

在创建和激活环境中获得。

我在我的文章中.bashrc写道:

export VIRTUALENVWRAPPER_PYTHON=python3

将其更改为:

export VIRTUALENVWRAPPER_PYTHON=$(which python3)

为我解决了问题。

注意:如果你激活一个环境并运行which python3,你会发现python运行的是环境之一,而不是指定的全局环境VIRTUALENVWRAPPER_PYTHON


Dom*_*uka 7

检查python3安装目录:

which python3

如果通过brew安装,你应该得到:

/usr/local/python3

导出python版本将使用virtualenvwrapper:

export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3

获取shell配置文件:
bash

source .bashrc

zsh的

source .zshrc


小智 7

在macOS Sierra中,如果您virtualenv使用包安装pip3,请添加以下内容.bash_profile

export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
Run Code Online (Sandbox Code Playgroud)

要么

export VIRTUALENVWRAPPER_PYTHON=$(which python3)
Run Code Online (Sandbox Code Playgroud)

之后,您创建的每个新的虚拟环境都workon myvenvpython3用作python解释器


Eva*_*mas 7

就我而言,pip3 和 python3 之间存在某种不匹配(因为我安装了多个 python)。这对我有用:

sudo python -m pip install virtualenvwrapper
Run Code Online (Sandbox Code Playgroud)


cho*_*rbs 6

运行后我出现这个错误brew update,并brew upgrade在Mac OS海伊谢拉。

通过重新安装virtualenvwrappper即已解决了该问题pip install virtualenvwrapper