尽管我做了各种尝试,但还是无法让virtualenv工作。我在MAC OS X上使用以下方法安装virtualenv:

pip install virtualenv

并将PATH添加到我的.bash_profile中。每次我尝试运行virtualenv命令时,它都会返回:

-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命令时,都找不到该命令。我还尝试在/usr/local/bin目录下运行virtualenv命令,它给了我相同的结果:

-bash: virtualenv: command not found

这些是我添加到.bash_profile中的路径

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

有什么解决办法吗?为什么会这样呢?


当前回答

我在Mac OS X El Capitan上也遇到了同样的问题。

当我像sudo pip3那样安装virtualenv时,我的命令行下没有virtualenv。

我通过以下步骤解决了这个问题:

卸载以前的安装。 在安装virtualenv之前,通过调用sudo su切换到超级用户帐户 通过调用pip3 Install virtualenv来安装virtualenv 最后,您应该能够从用户和超级用户帐户访问virtualenv。

其他回答

确保virtualenv是可执行的。

如果没有找到virtualenv,运行完整路径(/usr/local/bin/virtualenv)应该可以工作。

你说过每次运行pip安装时,你都会得到需求已经满足(使用——upgrade to upgrade): virtualenv in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages。你需要做的是:

更改目录(转到virtualenv.py所在目录) cd /图书馆/框架/ Python.framework /版本/ 2.7 / lib / python2.7 /网站 如果你执行ls,你会看到脚本是virtualenv.py 像这样运行脚本: python virtualenv.py——分发/the/path/at/which/you/want/the/new/venv/at theNameOfTheNewVirtualEnv

希望这能有所帮助。我的建议是多研究venvs。这里有一个很好的资源:https://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/

在Mac

> pip3安装virtualenv > python3 -m virtualenv [venv_name_you_want]

Q. virtualenv未找到 安装virtualenv后,pip3列表中存在virtualenv。但当使用“virtualenv [venv_name]”命令时,返回“virtualenv not found”。

答:因为virtualenv是作为一个模块安装在python3中的。没有像python3一样安装在“/usr/bin/..”路径下。因此在本例中,我们可以使用"python3 -m virtualenv [venv_name]"。

我们可以看到重试“pip3 install virtualenv”命令的位置。然后zsh或你的shell告诉我们这个信息。

默认为用户安装,因为正常的站点包是不可写的 需求已经满足:virtualenv in /Users/[your-usr-name-here]/Library/Python/3.8/lib/ Python/ site-packages (20.16.5) 需求已经满足:filelock<4,>=3.4.1 in /Users/[your-usr-name-here]/Library/Python/3.8/lib/ Python/ site-packages (from virtualenv)(3.8.0)…

我也遇到过同样的问题,我是这样解决的:

The issue occurred to me because I installed virtualenv via pip as a regular user (not root). pip installed the packages into the directory ~/.local/lib/pythonX.X/site-packages When I ran pip as root or with admin privileges (sudo), it installed packages in /usr/lib/pythonX.X/dist-packages. This path might be different for you. virtualenv command gets recognized only in the second scenario So, to solve the issue, do pip uninstall virtualenv and then reinstall it with sudo pip install virtualenv (or install as root)

对我来说,它安装在这个路径(MacOS上的python 2.7): $ HOME /图书馆/ Python / 2.7 / bin