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

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


当前回答

如果你使用的是Linux,打开终端,在中间输入virtualenv,然后用tab键自动补全。如果没有自动完成功能,运行以下命令安装virtualenv:

mycomp$sudo apt-get install virtualenv
//if you're already super user.
mycomp#apt-get install virtualenv

你现在可以导航到你想要创建项目的地方,并执行:

myprj$pip3 install virtualenv    
//to install python 3.5 and above  
myprj$virtualenv venv --python=python3.5  
//to activate virtualenv  
(venv)myprj$source venv/bin/activate  
(venv)myprj$deactivate

其他回答

我正在做Angela Yu的在线iOS课程,我也遇到了同样的问题,加上我试图运行virtualenv -python=/{myPath} {newVirtualEnvName}时,也得到了权限拒绝错误13

我是这样解决的:

切换到sudo用户sudo su 导航到我的目标文件夹(我想我的新虚拟环境生活)即。/ /用户/ muUserName /环境 执行命令python -m virtualenv python27,其中python27是我的新虚拟环境的名称 上面在我的Environments文件夹中创建了文件夹pathon27,然后我可以运行source python27/bin/activate来启动我的virtualenv

简单的答案是,如果你不是一个sudo用户,我不是一个。您需要添加您的bin文件夹的路径(/home/myusername/.local/bin)。所以基本上命令行会搜索你输入的命令所在的路径。

export PATH=/home/b18150/.local/bin:/usr/bin:/bin

在这里,它将首先搜索local/bin,然后是/usr/bin,然后是/bin。

如果你用

pip install virtualenv

你需要逃离

sudo /usr/bin/easy_install virtualenv

将它放在/usr/local/bin/中。

默认情况下,上述目录应该在您的PATH中;否则,相应地编辑你的.zshrc(或.bashrc)。

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

sudo apt-get install python-virtualenv

我也有同样的问题。我使用以下步骤使其工作

sudo pip uninstall virtualenv

sudo -H pip install virtualenv

就是这样。它开始起作用了。

sudo -H的用法----> sudo -H:设置HOME变量为目标用户的HOME目录。