我正在绕着控制台再次学习,并希望深入了解错误信息。使用Mac OSX和ZSH。
这是第一个要解决的问题:
Last login: Thu Mar 29 16:00:27 on ttys000
/usr/bin/python: 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/python and that PATH is
set properly.
这显然意味着我Mac上安装的其中一个Pythons无法加载其中一个软件包(virtualenvwrapper)。为了定位自己,我尝试了几件事来获得关于我的系统的“统计数据”。
以下是我尝试的内容:
~ ❯ which python
/usr/bin/python
第一个Python(系统一,Apple OSX附带的那个)
~ ❯ which python3
/usr/local/bin/python3
第二个Python(Python3,由我通过Homebrew包管理器安装)
~ ❯ which pip
/usr/local/bin/pip
~ ❯ which pip3
/usr/local/bin/pip3
与pythons相同,两个PIP - 第一个是“与系统Python安装一起工作的”,第二个是与酿造的Python3一起提供的。
~ ❯ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin
似乎我的$ PATH变量在~/.zshrc
中设置正确(这是正确的文件吗?)
潜在的罪魁祸首:
~ ❯ pip install virtualenvwrapper
Requirement already satisfied: virtualenvwrapper in /usr/local/lib/python3.6/site-packages
~ ❯ pip3 install virtualenvwrapper
Requirement already satisfied: virtualenvwrapper in /usr/local/lib/python3.6/site-packages
这是问题吗?两个PIP都说我已经安装了缺少的软件包,但是在同一个位置(在酿造的Python3中)。我需要重新链接某些内容吗?
修改
我又尝试了一件事:
printenv | less
返回:
WORKON_HOME=/users/edchigliak/documents/projects/.virtualenvs
PROJECT_HOME=/users/edchigliak/documents/projects
VIRTUALENVWRAPPER_PROJECT_FILENAME=.project
VIRTUALENVWRAPPER_WORKON_CD=1
VIRTUALENVWRAPPER_SCRIPT=/usr/local/bin/virtualenvwrapper.sh
VIRTUALENVWRAPPER_HOOK_DIR=/users/edchigliak/documents/projects/.virtualenvs
最后一行可能是嫌犯。似乎ZSH无法找到“... _HOOK_DIR”我只是不知道如何解决这个问题。
答案 0 :(得分:0)
这解决了我的问题 - 我将以下行添加到我的shell配置文件中(在我的案例中为~/.zshrc
):
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
通过这样做我明显告诉virtualenvwrapper在哪里寻找“正确的”python(python 3而不是系统范围内安装的python 2)。