找不到Virtualenv命令

时间:2015-06-30 08:17:42

标签: python macos virtualenv

尽管做了各种尝试,但我无法让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命令时,都找不到命令。我还尝试在virtualenv目录中运行/usr/local/bin命令,它给了我相同的结果:

-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

这有什么变通方法吗?为什么会这样?

27 个答案:

答案 0 :(得分:245)

如果您是通过运行

安装的
pip install virtualenv

您需要做的是运行:

sudo /usr/bin/easy_install virtualenv

将其放在/ usr / local / bin /中。 默认情况下,上面的目录应该在你的PATH中;否则,请相应地编辑.zshrc(或.bashrc)。

答案 1 :(得分:104)

我遇到了同样的问题,这就是我解决它的方法:

  1. 问题发生在我身上,因为我作为普通用户(不是root用户)通过pip安装了virtualenv。 pip将软件包安装到目录~/.local/lib/pythonX.X/site-packages
  2. 当我以root用户或管理员权限(sudo)运行pip时,它在/usr/lib/pythonX.X/dist-packages中安装了软件包。这条路可能与您有所不同。
  3. virtualenv命令仅在第二种情况中被识别
  4. 因此,要解决此问题,请执行pip uninstall virtualenv,然后使用sudo pip install virtualenv重新安装(或以root身份安装)

答案 2 :(得分:26)

最简单的答案。只是:

pip uninstall virtualenv

然后:

pip install virtualenv

或者您可以使用sudo安装virtualenv,在这种情况下:

pip install --user virtualenv

答案 3 :(得分:24)

在Ubuntu 18.04 LTS上我也遇到了同样的错误。 以下命令有效:

sudo apt-get install python-virtualenv

对于Mac OS,您可以尝试使用brew

答案 4 :(得分:22)

我有同样的问题。我按照以下步骤使其正常工作

sudo pip uninstall virtualenv

sudo -H pip install virtualenv

就是这样。它开始工作。

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

答案 5 :(得分:19)

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

当我按cardNum安装virtualenv时,我的命令行下没有sudo pip3 install virtualenv

我按照以下步骤解决了这个问题:

  1. 卸载以前的安装。
  2. 通过调用virtualenv
  3. 切换到安装virtualenv之前的超级用户帐户
  4. 致电sudo su
  5. 安装virtualenv
  6. 最后,您应该可以从pip3 install virtualenvvirtualenv帐户访问user

答案 6 :(得分:9)

你说每次运行pip install时都会得到Requirement already satisfied (use --upgrade to upgrade): virtualenv in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages。您需要做的是:

  1. 更改目录(转到virtualenv.py所在的目录) cd /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
  2. 如果您执行ls,您会看到脚本在那里virtualenv.py
  3. 像这样运行脚本: python virtualenv.py --distribute /the/path/at/which/you/want/the/new/venv/at theNameOfTheNewVirtualEnv
  4. 希望这会有所帮助。我的建议是更多地研究venvs。这是一个很好的资源:https://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/

答案 7 :(得分:7)

我遇到了麻烦,因为我用apt来安装python-virtualenv包。 为了使其正常运行,我必须使用apt-get remove python-virtualenv删除此软件包,然后将其与pip install virtualenv一起安装。

答案 8 :(得分:6)

找出问题

尝试使用--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无法找到程序的原因。

<强>解决方案

我们可以通过多种方式解决这个问题:

  1. 我们可以通过摆弄pip选项直接安装到特定目录(不推荐)。
  2. /usr/local/bin或类似的位置创建适当的符号链接。
  3. /home/manos/.local/bin附加到路径。
  4. 安装为sudo以直接安装到/usr/local/bin
  5. 最后两个选项可能是最明智的选择。最后一个解决方案是最简单的,因此我将只展示解决方案3.

    将此添加到〜/ .profile:

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

    退出并重新登出,它应该可以正常工作。

答案 9 :(得分:4)

我认为您的问题可以使用简单的符号链接来解决,但您要创建指向错误文件的符号链接。据我所知, virtualenv 已安装到/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv,(您可以更改Python版本的数字),因此用于创建符号的命令链接应该是:

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

答案 10 :(得分:4)

就我而言,我运行&{117 117 false} <nil> 以获得有关virtualenv软件包的信息。我将看起来与此相似,还将显示软件包的位置:

pip show virtualenv

从那部分位置直到user@machine:~$ pip show virtualenv Name: virtualenv Version: 16.2.0 Summary: Virtual Python Environment builder Home-page: https://virtualenv.pypa.io/ Author: Ian Bicking Author-email: ianb@colorstudy.com License: MIT Location: /home/user/.local/lib/python3.6/site-packages Requires: setuptools 部分,在本例中为.local。您可以在/home/user/.local/下找到virtualenv命令。

然后您可以运行诸如/home/user/.local/bin/virtualenv之类的命令。

答案 11 :(得分:4)

python3 -m virtualenv virtualenv_name

python -m virtualenv virtualenv_name

答案 12 :(得分:3)

个人。我执行了与全新安装Ubuntu 20相同的步骤(除了我使用的是pip3)。我遇到了同样的问题,我记得我是这样解决的:

python3 -m virtualenv venv 

链接以了解-m <module-name>表示法。

答案 13 :(得分:3)

相同的问题: 所以我只是做了pip uninstall virtualenv 然后pip install 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安装在PATH之外的'/Users/brahim/Library/Python/2.7/bin'中。     考虑将这个目录添加到PATH,或者,如果您不想显示此警告,请使用--no-warn-script-location。

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

答案 14 :(得分:3)

在ubuntu 18.4上,使用pip的AWS安装无法正常工作。 使用apt-get install为我解决了这个问题。

sudo apt-get install python-virtualenv

并检查

virtualenv --version

答案 15 :(得分:3)

我有相同的问题很长时间了。 我通过运行这两个命令解决了它,首先是安装第二是激活env:

python3 -m pip install virtualenv
python3 -m virtualenv yourenvname

请注意,我正在使用python3,如果python失败,则可以将其更改为python3。 谢谢。

答案 16 :(得分:2)

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

sudo -H pip install virtualenv

-H将其设置到HOME目录,这对于大多数人来说似乎是个问题。

答案 17 :(得分:1)

确保virtualenv可执行。

如果找不到virtualenv,则应运行完整路径(/usr/local/bin/virtualenv)。

答案 18 :(得分:1)

这在ubuntu 18及更高版本中有效(在先前版本中未测试):

sudo apt install python3-virtualenv

答案 19 :(得分:0)

一个简单的答案是,如果您不是我(不是我)的sudo用户,则需要添加bin文件夹( public class RegisterActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_register); } } )的路径。因此,基本上,命令行会在其中搜索哪个路径您输入的命令。

/home/myusername/.local/bin

在这里它将先在export PATH=/home/b18150/.local/bin:/usr/bin:/bin 中搜索,然后在local/bin中搜索,然后在/usr/bin中搜索。

答案 20 :(得分:0)

如果您使用的是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

答案 21 :(得分:0)

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

我通过以下方式解决了此问题:

  1. 切换到sudo用户sudo su
  2. 导航到我的目标文件夹(我希望新的虚拟环境驻留在其中),即。 / Users / muUserName / Environments /
  3. 运行命令python -m virtualenv python27,其中 python27 是我的新虚拟环境的名称
  4. 在我的 环境 文件夹中创建了文件夹 pathon27 ,然后,我能够运行{{1 }}以启动我的virtualenv

答案 22 :(得分:0)

对我来说,它已安装在以下路径中(在MacOS上为python 2.7): $ HOME / Library / Python / 2.7 / bin

答案 23 :(得分:0)

apt update
apt upgrade
apt install ufw python virtualenv git unzip pv

3个命令,一切正常!

答案 24 :(得分:0)

按照以下基本步骤设置虚拟环境

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文件只是Bash在启动新终端时运行的shell脚本。您通常使用此文件来设置各种配置。在这种情况下,我们设置一个名为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

答案 25 :(得分:-1)

确保您正在使用

sudo

在这种情况下,首先需要卸载pipenv,然后使用sudo命令重新安装。

  1. pip uninstall pipenv
  2. sudo pip install pipenv

答案 26 :(得分:-3)

sudo apt-get install python-virtualenv