尽管做了各种尝试,我还是无法让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中的PATH
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
有没有解决方法呢?为什么会这样?
如果你通过运行安装它
pip install virtualenv
你需要做的是运行:
sudo /usr/bin/easy_install virtualenv
它把它放在/ usr / local / bin /中。默认情况下,上面的目录应该在你的PATH中;否则,请相应地编辑.zshrc(或.bashrc)。
我认为您的问题可以使用简单的符号链接来解决,但您正在创建指向错误文件的符号链接。据我所知,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
在使用pip进行AWS安装的ubuntu 18.4上无法正常工作。使用apt-get install解决了这个问题。
sudo apt-get install python-virtualenv
并检查
virtualenv --version
同样的问题:所以我只是做了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安装在'/Users/brahim/Library/Python/2.7/bin'中,该脚本不在PATH上。考虑将此目录添加到PATH,或者如果您希望禁止此警告,请使用--no-warn-script-location。
它清楚地说明了它的安装位置以及如何实现它
确保virtualenv
是可执行的。
如果找不到virtualenv
,则运行完整路径(/usr/local/bin/virtualenv
)应该有效。
如果您使用的是Linux,请打开终端并输入virtualenv halfway并使用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
apt update
apt upgrade
apt install ufw python virtualenv git unzip pv
3命令和一切正常!
按照以下基本步骤设置虚拟环境
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
python -m virtualenv virtualenv_name
sudo apt-get install python-virtualenv
我遇到了同样的问题,这就是我解决它的方法:
~/.local/lib/pythonX.X/site-packages
中/usr/lib/pythonX.X/dist-packages
中安装了软件包。这条路径可能与您不同。pip uninstall virtualenv
然后使用sudo pip install virtualenv
重新安装(或以root身份安装)最简单的答案。只是:
pip uninstall virtualenv
然后:
pip install virtualenv
或者你可以用sudo
安装virtualenv,在这种情况下:
pip install --user virtualenv
在Ubuntu 18.04 LTS上我也遇到了同样的错误。以下命令有效:
sudo apt-get install python-virtualenv
对于Mac OS,您可以尝试使用brew
我在Mac OS X El Capitan上遇到了同样的问题。
当我像virtualenv
那样安装sudo pip3 install virtualenv
时,我的命令行下没有virtualenv
。
我通过以下步骤解决了这个问题:
virtualenv
切换到sudo su
安装之前的超级用户帐户virtualenv
安装pip3 install virtualenv
virtualenv
和user
账户访问super user
。你说每次你运行pip install
你得到Requirement already satisfied (use --upgrade to upgrade): virtualenv in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
。您需要做的是以下内容:
cd /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
ls
,你会看到脚本在那里virtualenv.py
python virtualenv.py --distribute /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无法找到程序的原因。
解决方案
我们可以通过多种方式解决这个问题
/usr/local/bin
或类似的地方创建适当的符号链接。/home/manos/.local/bin
添加到PATH。/usr/local/bin
最后两个选项可能是最明智的选择。最后一个解决方案是最简单的,因此我将只展示解决方案3。
将其添加到〜/ .profile:
PATH="$PATH:$HOME/.local/bin"
退出并重新登出,它应该工作。
我遇到了麻烦,因为我使用apt来安装python-virtualenv包。为了使它工作,我不得不用apt-get remove python-virtualenv
删除这个包,并用pip install virtualenv
安装它。
就我而言,我运行pip show virtualenv
来获取有关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: [email protected]
License: MIT
Location: /home/user/.local/lib/python3.6/site-packages
Requires: setuptools
从那里抓住位置的一部分到.local
部分,在这种情况下是/home/user/.local/
。你可以在/home/user/.local/bin/virtualenv
下找到virtualenv命令。
然后,您可以运行/home/user/.local/bin/virtualenv newvirtualenv
等命令。