尽管尝试了各种方法,我还是无法virtualenv工作。我virtualenv在 MAC OS X 上使用以下方法安装:
virtualenv
pip install virtualenv
并且还添加了PATH到我的.bash_profile。每次我尝试运行该virtualenv命令时,它都会返回:
PATH
.bash_profile
-bash: virtualenv: command not found
每次运行pip install virtualenv它都会返回:
Requirement already satisfied (use --upgrade to upgrade): virtualenv in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
我理解在 Mac 中,virtualenv应该正确安装在
/usr/local/bin
virtualenv确实安装在了 中,/usr/local/bin但每当我尝试运行该virtualenv命令时,都找不到该命令。我也尝试virtualenv在目录中运行该命令/usr/local/bin,它给出了相同的结果:
这些是我添加到 .bash_profile 中的 PATH
export PATH=$PATH:/usr/local/bin export PATH=$PATH:/usr/local/bin/python export PATH=$PATH:/Library/Framework/Python.framework/Version/2.7/lib/site-packages
有什么解决方法吗?为什么会这样?
您的安装似乎位于正确的位置,但由于您的设置virtualenv方式,您的 shell 无法识别它。让我们逐步了解几个步骤,以确保在 macOS 上正确配置了所有内容。PATH
首先,确保它virtualenv安装在您期望的位置。您可以使用以下命令找到安装的确切路径virtualenv:
which virtualenv
如果它不返回任何内容或virtualenv: command not found,则二进制文件可能不在您的中PATH,或者它可能安装在不同的 Python 版本中。
virtualenv: command not found
您的以下行.bash_profile应正确添加/usr/local/bin到您的PATH:
export PATH=$PATH:/usr/local/bin
确保此行在您的 中.bash_profile。更新 后.bash_profile,通过运行重新加载它:
source ~/.bash_profile
现在,尝试运行:
echo $PATH
这应该显示/usr/local/bin为 的一部分PATH。如果/usr/local/bin缺失,则表示PATH未正确设置。
您可能安装了多个版本的 Python,并且virtualenv可能只安装了其中一个版本,而不安装其他版本。运行以下命令检查正在使用哪个 Python 版本:
which python
检查它是否指向正确的 Python 版本(/usr/local/bin/python或/Library/Frameworks/Python.framework/Versions/2.7/bin/python就你的情况而言)。
/usr/local/bin/python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
有时,即使virtualenv安装了,也可能没有链接到正确的 Python 二进制文件。您可以尝试virtualenv直接为当前的 Python 版本安装或重新安装:
python -m pip install --upgrade virtualenv
这将安装virtualenv您当前使用的 Python 版本。现在,尝试检查是否virtualenv可以识别:
python -m venv
venv由于您使用的是 Python 2.7,如果您还安装了 Python 3.x ,则另一个选择是使用内置模块。Python 3.3+ 包含venv用于创建虚拟环境的功能,使用起来通常更简单:
venv
python3 -m venv myenv
如果上述步骤不起作用并且virtualenv确实安装了但无法识别,您可以手动创建符号链接:
ln -s /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv /usr/local/bin/virtualenv
这会在 中创建一个符号链接/usr/local/bin,确保系统virtualenv在您键入命令时可以找到。
按照这些步骤操作后,您应该能够正常运行virtualenv而不会遇到command not found错误。如果此方法有效或者您需要进一步说明,请告诉我!
command not found