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

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


当前回答

我遇到了麻烦,因为我使用apt安装python-virtualenv包。 为了让它工作,我必须用apt-get remove python-virtualenv删除这个包,并用pip install virtualenv安装它。

其他回答

同样的问题: 我刚刚卸载了virtualenv 然后pip安装virtualenv

pip install virtualenv --user

收集virtualenv 使用缓存https://files.pythonhosted.org/packages/b6/30/96a02b2287098b23b875bc8c2f58071c35d2efe84f747b64d523721dc2b5/virtualenv-16.0.0-py2.py3-none-any.whl 安装收集包:virtualenv

然后我得到了这个:

脚本virtualenv安装在'/Users/brahim/Library/Python/2.7/bin'中,而不是在PATH上。 考虑将此目录添加到PATH中,或者,如果您希望取消此警告,请使用——no- warning -script-location。

上面清楚地说明了它的安装位置以及如何获取它

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

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

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

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

解决问题

尝试使用——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"

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

找到了这个解决方案,对我来说非常有效。

sudo -H pip install virtualenv

h将其设置为HOME目录,这似乎是大多数人的问题。

遵循以下基本步骤来设置虚拟环境

sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/get-pip.py ~/.cache/pip

我们需要更新~/.bashrc

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

~ /。bashrc文件只是一个shell脚本,每当启动新终端时Bash都会运行该脚本。您通常使用这个文件来设置各种配置。在本例中,我们设置了一个名为WORKON_HOME的环境变量,以指向Python虚拟环境所在的目录。然后从virtualenvwrapper加载任何必要的配置。

更新~/。Bashrc文件只需使用标准的文本编辑器,nano可能是最容易操作的。 一个更简单的解决方案是使用cat命令并完全避免编辑器:

echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.bashrc
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc

在编辑~/。Bashrc文件,我们需要重新加载更改:

source ~/.bashrc

现在我们已经安装了virtualenv和virtualenvwrapper,下一步是实际创建Python虚拟环境——我们使用mkvirtualenv命令来完成。

mkvirtualenv YOURENV