由于我刚刚经历了一次拖累,所以我将尝试写下我两个小时前希望得到的答案。这适用于不只是想要复制和粘贴解决方案的人
第一:你想知道为什么复制和粘贴路径对某些人有效,而对其他人无效?**主要原因,解决方案不同是不同的 python 版本,2.x 或 3.x。实际上有不同版本的 virtualenv 和 virtualenvwrapper 可以与 python 2 或 3 一起使用。如果你在 python 2 上安装,如下所示:
sudo pip install virutalenv
sudo pip install virtualenvwrapper
如果您打算使用 python 3,请安装相关的 python 3 版本
sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper
您已经成功安装了适用于您的 python 版本的软件包并且一切就绪,对吧?嗯,试试看。输入workon
您的终端。您的终端将无法找到该命令(workon
是 virtualenvwrapper 的命令)。当然不会。Workon
是一个可执行文件,只有在您加载/获取文件后才可供您使用virtualenvwrapper.sh
。但是官方安装指南已经涵盖了这个,对吧?只需打开您的 .bash_profile 并插入以下内容,它在文档中说:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh
特别是该命令source /usr/local/bin/virtualenvwrapper.sh
似乎很有帮助,因为该命令似乎加载/获取virtualenvwrapper.sh
包含您想要使用的所有命令的所需文件,例如workon
和mkvirtualenv
. 但是,是的,不。遵循官方安装指南时,您很可能会收到初始帖子中的错误:mkvirtualenv: command not found
. 仍然没有找到命令,您仍然感到沮丧。那么这里有什么问题呢?问题是 virtualenvwrapper.sh 不是您现在正在寻找的。简短的提醒......你正在看这里:
source /usr/local/bin/virtualenvwrapper.sh
但是有一种非常直接的方法可以找到所需的文件。只需键入
which virtualenvwrapper
到您的终端。这将在您的PATH中搜索该文件,因为它很可能位于系统 PATH 中包含的某个文件夹中。
如果您的系统非常奇特,所需的文件将隐藏在 PATH 文件夹之外。在这种情况下,您可以virtalenvwrapper.sh
使用 shell 命令找到路径find / -name virtualenvwrapper.sh
您的结果可能如下所示:/Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh
恭喜。You have found your missing file!
. 现在您所要做的就是更改 .bash_profile 中的一个命令。只是改变:
source "/usr/local/bin/virtualenvwrapper.sh"
到:
"/Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh"
恭喜。Virtualenvwrapper 现在可以在您的系统上运行。但是您可以再做一件事来增强您的解决方案。如果您virtualenvwrapper.sh
使用命令找到了该文件,which virtualenvwrapper.sh
您就知道它位于 PATH 的文件夹中。因此,如果您只写文件名,您的文件系统将假定该文件位于 PATH 文件夹中。所以你不必写出完整的路径。只需输入:
source "virtualenvwrapper.sh"
就是这样。你不再沮丧。你已经解决了你的问题。希望。