在 Mac OS 中找不到 virtualenv 命令

virtualenv command is not found in Mac OS

我使用命令sudo pip install virtualenv安装了virtualenv,安装成功。后来,当我键入 virtualenv 时,我收到如下错误消息,-bash: virtualenv: command not found

virtualenv 安装在 /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages 中。我在论坛上看到类似的问题,没有明确的答案。

Python 位于 /usr/local/bin/python 位置,我的版本为 2.7.9。我使用 ls -l 命令得到以下内容,

为什么我看到 virtualenv 未找到以及如何解决该问题?

更新:

我使用命令

ln -s /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv.py /usr/local/bin/virtualenv.pyvirtualenv.py

/usr/local/bin 文件夹中。以前,我只对 virtualenv 文件执行相同的操作。现在,当我在终端中输入命令 virtualenv 时,我得到

-bash: /usr/local/bin/virtualenv: Permission denied

我以后用

sudo ln -s /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv.py /usr/local/bin/virtualenv.py

并且 say 消息不断显示。 which virtualenv 仍然 returns 什么都没有。

根据@Jason 的建议,尝试在 /bin 目录中为 virtualenv 创建符号 link,如下所示:

ln -s /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv /usr/local/bin/virtualenv

为什么不重新安装virtualenv?也尝试使用最新版本的 pip (sudo pip install -U pip)。

不确定答案是否对您有用,因为我看到这个问题已经几个月了,但也许对其他人有帮助。

我在 Mac 上安装 python3.5 和 pyCharm 后遇到了同样的问题。我将 3.5 文件夹从 /Library/Frameworks/Python.framework/Versions/3.5 移动到 /System/Library/Frameworks/Python.framework/Versions/3.5,在 this guide 之后,首先禁用系统完整性保护并重新启动进入恢复模式(使用 ctrl+R 启动),然后执行 csrutil disable 在终端中。重新启动后,可以移动 python3.5 文件夹,然后我按照指南进行操作,一切都很顺利。在 pyCharm 中,我可以从 /System/... 而不是 /Library/... 中选择版本 3.5( 但是,我仍然在 /Library/...到 python3.5 现在所在的 /System 文件夹,以防万一 ),在将路径添加到我的 zsh 后,我可以执行 pip3 install virtualenv。到目前为止一切顺利。

接下来,我尝试用virtualenv -p python3 env创建环境,这里我遇到了和你一样的问题。似乎无法以某种方式添加路径。最初我也尝试查看 /System/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/ 并将其包含在 $PATH 中,然后也像您尝试的那样创建 softlinks 到 virtualenv.py,但最终发现虽然所有文件在 site-packages 文件夹中,实际的可执行文件在 /System/Library/Frameworks/Python.framework/Versions/3.5/bin/virtualenv 中。由于路径包含在我的 $PATH 中,我不知道为什么在键入 virtualenv -p python3 env 时它没有执行,即使你也尝试过使用 sudo,但是一旦我键入完整路径 /System/Library/Frameworks/Python.framework/Versions/3.5/bin/virtualenv -p python3 env,它再次发挥魅力。

我仍然不知道为什么,但它起作用了,现在我可以继续了:)

希望对您有所帮助,并希望有人能比我解释得更好。

您创建了符号 link 到 错误的文件 。据我所知 virtualenv 安装到 /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv,(你可以改变你的 Python 版本的数字)所以 command 用于创建 符号 link 应该是:

ln -s /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv /usr/local/bin/virtualenv