尽管我做了各种尝试,但还是无法让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

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


当前回答

在Ubuntu 18.04 LTS上,我也遇到了同样的错误。 以下命令起作用了:

sudo apt-get install python-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/

解决问题

尝试使用——verbose标志进行安装

pip install virtualenv --verbose

输出看起来像这样

  ..
  Using cached virtualenv-15.1.0-py2.py3-none-any.whl
  Downloading from URL https://pypi.python.org/packages/6f/86/3dc328ee7b1a6419ebfac7896d882fba83c48e3561d22ddddf38294d3e83/virtualenv-15.1.0-py2.py3-none-any.whl#md5=aa7e5b86cc8cdb99794c4b99e8d670f3 (from https://pypi.python.org/simple/virtualenv/)
Installing collected packages: virtualenv

  changing mode of /home/manos/.local/bin/virtualenv to 755
Successfully installed virtualenv-15.1.0
Cleaning up...

从输出中我们可以看到它安装在/home/manos/。local/bin/virtualenv确保PATH包含这个。

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

在我的例子中,我们可以清楚地看到/home/manos/。Local /bin完全丢失,这就是shell找不到程序的原因。

解决方案

我们可以用很多方法来解决这个问题:

我们可以通过修改pip选项直接安装到特定目录(不推荐)。 在/usr/local/bin或类似目录下创建适当的符号链接。 附加/home/manos/.local/bin到PATH。 安装sudo直接安装到/usr/local/bin

最后两个选择可能是最明智的。最后一个解是最简单的,所以我只展示解3。

添加到~/.profile:

PATH="$PATH:$HOME/.local/bin"

登出并再次登入,它应该工作。

我很长一段时间都有同样的问题。 我通过运行这两个命令来解决这个问题,第一个是安装,第二个是激活env:

python3 -m pip install virtualenv
python3 -m virtualenv yourenvname

请注意,我使用的是python3,如果python3失败,您可以将其更改为python。 谢谢。

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

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)

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

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

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

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