我正在尝试关注How To Serve Django Applications with uWSGI and Nginx on Ubuntu 14.04而我在早期阶段失败,由于输出量的原因,我将所有相关信息都放入Pastebin.com - #1 paste tool since 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:~#
我正在追问如何磨牙,我做错了什么?
答案 0 :(得分:45)
感谢@Alexander,我通过更改:
来解决我的问题export VIRTUALENVWRAPPER_PYTHON = / usr / bin / python3
到
export VIRTUALENVWRAPPER_PYTHON = / usr / bin / python
由于向后兼容性。
答案 1 :(得分:42)
当使用python3和virtualenvwrapper时,我遇到了类似的问题,
sudo apt-get install python3-pip
然后从pip3
安装virtualenv和virtualenvwrappersudo pip3 install virtualenv virtualenvwrapper
然后再次采购,
source .bashrc
答案 2 :(得分:20)
我遇到类似的问题,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.
经过一些试验和错误后,发现重新安装virtualenvwrapper
包解决了这个问题。这是我最近通过自制软件升级python3(从版本3.5.2升级到3.6.1)这一事实的一个事实,反过来它打破了virtualenvwrapper的shell脚本,硬编码引用旧版本的python3(在我的情况下它是3.5。 2)。简而言之,下面这行应该修复它(至少在我的情况下它确实如此)。
pip3 install virtualenvwrapper
答案 3 :(得分:9)
export VIRTUALENVWRAPPER_PYTHON = / usr / bin / python
不错的选择,但你已经知道/ usr / bin / python是2.7
如果您想使用版本3
sudo apt-get install python3-pip
并退出&amp;登录
答案 4 :(得分:8)
检查python3
安装目录:
which python3
如果由 brew 安装,您应该获得:
/usr/local/python3
导出python版本使用virtualenvwrapper:
export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3
获取您的shell配置文件:
bash
source .bashrc
zsh
source .zshrc
答案 5 :(得分:7)
我已经安装了virtualenv,所以只需要运行
pip3 install virtualenvwrapper
答案 6 :(得分:7)
就我而言,pip3和python3之间存在某种不匹配(因为我安装了多个python)。这对我有用:
sudo python -m pip install virtualenvwrapper
答案 7 :(得分:6)
在macOS Sierra,
如果您使用virtualenv
安装了pip3
包,
将以下内容添加到.bash_profile
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
或
export VIRTUALENVWRAPPER_PYTHON=$(which python3)
之后使用workon myvenv
创建的每个新虚拟环境
使用python3
作为python解释器
答案 8 :(得分:5)
在mac os high sierra上运行brew update
和brew upgrade
后,我出现了此错误。
通过重新安装virtualenvwrappper即pip install virtualenvwrapper
解决了这个问题。
答案 9 :(得分:3)
如果您在 macOS 更新后来到这里,并且通过 brew 安装了 python3,请尝试重新链接您的 python3 版本
brew link python@3.8
brew link python@3.9
答案 10 :(得分:2)
由于完全不同的原因,我遇到了此错误,但是由于我结束了此线程,所以我发现有人可能会发现此有用。因此,以我为例,事实证明我的脚本正在尝试激活虚拟环境(我的workon
文件发出了.profile
语句)。因此,解决方案是先简单deactivate
环境然后运行脚本。
答案 11 :(得分:1)
在计算机上,我先运行IActionResult
,然后运行sudo apt install python-pip
,但是在我的设置中,我将其设置如下:
pip install virtualenvwrapper
摆脱了错误,请注意我正在使用python3,并且将pip3用作默认值
答案 12 :(得分:1)
这是我解决的问题
Error while finding module specification for 'virtualenvwrapper.hook_loader' (ModuleNotFoundError: No module named 'virtualenvwrapper')
在创建和激活环境中获得。
在我的.bashrc
中,我写道:
export VIRTUALENVWRAPPER_PYTHON=python3
将其更改为:
export VIRTUALENVWRAPPER_PYTHON=$(which python3)
为我解决了这个问题。
注意:如果您激活一个环境并运行which python3
,您会发现python run是环境之一,而不是VIRTUALENVWRAPPER_PYTHON
答案 13 :(得分:0)
在安装vim
和macvim
之后,在Mac OS Catalina 10.15.6上出现了类似的问题
使用以下内容:
brew install vim && brew install macvim
我认为是造成问题的原因。
虽然workon
可以正常运行,但始终显示如下错误消息:
~ $ workon loom
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3: Error while finding module specification for 'virtualenvwrapper.hook_loader' (ModuleNotFoundError: No module named 'virtualenvwrapper')
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3: Error while finding module specification for 'virtualenvwrapper.hook_loader' (ModuleNotFoundError: No module named 'virtualenvwrapper')
(loom) ~ $
最终对我有用的是:
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
添加到.bash_profile
sudo pip3 install virtualenvwrapper
答案 14 :(得分:0)
尝试安装 python-is-python3:
1.更新包索引:
sudo apt-get update
2.安装 python-is-python3 deb 包:
sudo apt-get install python-is-python3
答案 15 :(得分:0)
我在 brew 升级后收到了这个警告,它更新了 python3 包和 brew 安装的 python3。
我发现 pip3 和 python3 版本不匹配,正如 Evan Thomas 所暗示的:
❯ which python3 && python3 --version
/usr/bin/python3
Python 3.8.2
❯ which pip3 && pip3 --version
/usr/local/bin/pip3
pip 21.0.1 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
按照snakesNbronis 的建议运行brew link python@3.9
会删除警告。