尽管进行了各种尝试,我仍无法让 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 的 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
有什么解决方法吗?为什么会这样?
$ ln -s /usr/bin/virtualenv /Library/Framework/Python.framework/Version/2.7/lib/site-packages/virtualenv/virtualenv.py
ln -s /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv.py /usr/local/bin/virtualenv
如果你安装它
pip install virtualenv
你需要跑
sudo /usr/bin/easy_install virtualenv
将其放在 /usr/local/bin/
中。
默认情况下,上述目录应在您的 PATH
中;否则,请相应地编辑您的 .zshrc
(或 .bashrc
)。
我遇到了同样的问题,这就是我解决它的方法:
这个问题发生在我身上,因为我通过 pip 作为普通用户(不是 root)安装了 virtualenv。 pip 将软件包安装到目录 ~/.local/lib/pythonX.X/site-packages 当我以 root 或管理员权限 (sudo) 运行 pip 时,它将软件包安装在 /usr/lib/pythonX.X/dist-包。这条路对你来说可能不同。 virtualenv 命令仅在第二种情况下被识别因此,要解决此问题,请执行 pip uninstall virtualenv 然后使用 sudo pip install virtualenv 重新安装(或以 root 身份安装)
--user
。
cp
将 site-packages
目录中的所有内容都编辑到 /usr/lib/pythonx.x/site-packages
中,并rm -rf
编辑了原始目录。
最简单的答案。只是:
pip uninstall virtualenv
接着:
pip install virtualenv
或者您可能使用 sudo
安装了 virtualenv,在这种情况下:
pip install --user virtualenv
pyenv
在 Ubuntu 18.04 LTS 上,我也遇到了同样的错误。以下命令有效:
sudo apt-get install python-virtualenv
brew install python-virtualenv
不存在
apt
提升为 apt-get
的继任者。
python3 -m virtualenv virtualenv_name
或者
python -m virtualenv virtualenv_name
我在 Mac OS X El Capitan 上遇到了同样的问题。
当我像这样安装 virtualenv
sudo pip3 install virtualenv
时,我的命令行下没有 virtualenv
。
我按照以下步骤解决了这个问题:
卸载以前的安装。通过调用 sudo su 在安装 virtualenv 之前切换到超级用户帐户 通过调用 pip3 install virtualenv 安装 virtualenv 最后您应该能够从用户帐户和超级用户帐户访问 virtualenv。
我遇到过同样的问题。我使用以下步骤使其工作
sudo pip uninstall virtualenv
sudo -H pip install virtualenv
这就对了。它开始工作了。
sudo -H
----> 的用法sudo -H:
将 HOME
变量设置为目标用户的主目录。
找出问题
尝试使用 --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 目录,这似乎是大多数人的问题。
亲自。我执行了与全新 Ubuntu 20 安装相同的步骤(除了我使用了 pip3)。我遇到了同样的问题,我记得我是这样解决的:
python3 -m virtualenv venv
链接以了解 -m <module-name>
符号。
就我而言,我运行 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: ianb@colorstudy.com
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
之类的命令。
您说过每次运行 pip install
都会得到 Requirement already satisfied (use --upgrade to upgrade): virtualenv in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
。您需要执行以下操作:
更改目录(转到 virtualenv.py 所在的目录) 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/
我遇到了麻烦,因为我使用 apt 安装 python-virtualenv 包。为了让它工作,我必须用 apt-get remove python-virtualenv
删除这个包并用 pip install virtualenv
安装它。
确保 virtualenv
是可执行的。
如果未找到 virtualenv
,则运行完整路径 (/usr/local/bin/virtualenv
) 应该可以工作。
很长一段时间我都有同样的问题。我通过运行这两个命令解决了它,首先是安装,其次是激活 env:
python3 -m pip install virtualenv
python3 -m virtualenv yourenvname
请注意,我使用的是 python3
,如果 python3
失败,您可以将其更改为仅 python
。谢谢。
我认为您的问题可以使用简单的符号链接来解决,但是您正在创建指向错误文件的符号链接。据我所知,virtualenv 已安装到 /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv
,(您可以更改 Python 版本的数字)因此用于创建 符号链接command /strong> 应该是:
ln -s /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv /usr/local/bin/virtualenv
在 AWS 上使用 pip 安装的 ubuntu 18.4 无法正常工作。使用 apt-get install 解决了我的问题。
sudo apt-get install python-virtualenv
并检查
virtualenv --version
您遇到此错误:
zsh: command not found: virtualenv
因为很可能您尝试安装 virtualenv 而不事先输入 sudo。
如果您尝试将其添加到 /usr/local/bin,这可能会导致语法错误,因为软件包未正确安装/复制:
SyntaxError: invalid syntax
File "build/bdist.macosx-12.0-x86_64/egg/platformdirs/__main__.py", line 16
def main() -> None:
^
如果您尝试在没有 sudo 权限的情况下通过 pip 安装 virtualenv,则需要先将其卸载:
pip3 uninstall virtualenv
然后使用 sudo 安装它:
sudo pip3 install virtualenv
接下来你只需要激活环境:
virtualenv env
source env/bin/activate
同样的问题:所以我只是做了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。
它清楚地说明了它的安装位置以及如何获取它
如果您使用的是 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
确保您正在使用
sudo
在这种情况下,首先您需要卸载 pipenv,然后使用 sudo 命令重新安装。
pip 卸载 pipenv sudo pip install pipenv
按照以下基本步骤设置虚拟环境
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
我正在上 Angela Yu 的在线 iOS 课程,我遇到了同样的问题,而且当我尝试运行 virtualenv --python=/{myPath} {newVirtualEnvName}
时,我还遇到了权限被拒绝错误 13
我通过以下方式解决了它:
切换到 sudo 用户 sudo su 导航到我的目标文件夹(我希望我的新虚拟环境所在的位置),即。 /Users/muUserName/Environments/ 运行命令 python -m virtualenv python27 其中 python27 是我在 Environments 文件夹中创建的文件夹 pathon27 上方的新虚拟环境的名称,然后我能够运行 source python27/bin/activate 来启动我的 virtualenv
sudo su
对我有用,即使我想使用 python3 作为要创建的 venv 文件夹。尝试在本地安装时似乎是权限问题,除非以 root 身份显式登录,否则提升的 sudo 找不到正确的路径
这适用于 ubuntu 18 及更高版本(未在以前的版本中测试):
sudo apt install python3-virtualenv
对我来说,它安装在这个路径中(MacOS 上的 python 2.7):$HOME/Library/Python/2.7/bin
简单的答案是,如果您不是 sudo 用户,因为我不是。您需要添加 bin 文件夹的路径(/home/myusername/.local/bin
)。所以基本上命令行搜索这些路径中的哪个是您输入的命令.
export PATH=/home/b18150/.local/bin:/usr/bin:/bin
在这里它会先在 local/bin
中搜索,然后是 /usr/bin
,然后是 /bin
。
apt update
apt upgrade
apt install ufw python virtualenv git unzip pv
3 个命令,一切正常!
apt
sudo apt-get install python-virtualenv
不定期副业成功案例分享
Amazon Linux
的 AWS EC2 实例上,如果您正在尝试 Let's Encrypt 的certbot
,请尝试此解决方案。这是解决我的 virtualenv 问题的唯一建议。sudo: /usr/bin/easy_install: command not found
python -m venv venv_name