如何在MacOS
上安装和配置Python
的virtualenv
和virtualenvwrapper
?
如何在MacOS
上安装和配置Python
的virtualenv
和virtualenvwrapper
?
要安装virtualenv
和virtualenvwrapper
以供重复使用,您需要正确配置的Python
(此示例使用Python 3.x
,但进程对于Python 2.x
是相同的)。
虽然您可以从Python网站获得python
安装程序,但我强烈建议不要这样做。在MacOS
上安装Python
的最方便和未来可靠的方法是brew。
Python网站的安装程序和brew
之间的主要区别在于安装程序将python
包放置在:
/Library/Frameworks/Python.framework/Versions/3.x
Brew
另一方面安装 Python
、Pip
和 Setuptools
并把所有东西放在:
/usr/local/bin/python3.x/site-packages
虽然现在对你来说可能没有什么区别,但以后会有差别。
brew
brew
安装页面 或者直接在终端中运行以下命令:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
使用brew
运行以下命令安装python
:
brew install python3
export PATH=/usr/local/share/python:$PATH
which python3
命令,您应该会得到/usr/local/bin/python
的返回结果。
virtualenv
和virtualenvwrapper
virtualenv
和virtualenvwrapper
,以便能够使用workon
命令并在虚拟环境之间切换。这可以通过使用pip
来完成:pip3 install virtualenv virtualenvwrapper
~
目录下创建一个隐藏文件夹,并将其命名为.virtualenvs
,使用mkdir ~/.virtualenvs
命令进行创建。将virtualenv
变量添加到.zshrc
(或.bash_profile
)中。.zshrc
(或.bash_profile
)应包含以下信息,以使已安装的软件包正常工作:# Setting PATH for Python 3 installed by brew
export PATH=/usr/local/share/python:$PATH
# Configuration for virtualenv
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
重启你的终端。 你应该能够使用mkvirtualenv
和workon
命令,包括自动补全。
这里有一个小提示,关于如何创建具有特定Python版本的虚拟环境。
如果你正在使用
MacOS Mojave
并且正在通过brew bottle安装Python3.6
,你可能会遇到pip的问题,这里有一个可能有帮助的解决方案。
随着时间的推移,你们中的一些人可能想要安装多个Python
版本,并为每个版本创建多个虚拟环境。当这个时刻到来时,我强烈建议使用pyenv和pyenv-virtualenv。
Mac Big Sur
苹果操作系统Big Sur版本
pip3 install virtualenv virtualenvwrapper
或者
pip3 install virtualenv virtualenvwrapper --user
mkdir .virtualenvs
vi .bash_profile
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_VIRTUALENV=/Users/{your_user}/Library/Python/3.8/bin/virtualenv
source /Users/{home_directory}/Library/Python/3.8/bin/virtualenvwrapper.sh
source ~/.bash_profile
macOS 10.15.7
然后将其更改为
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
# export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
export VIRTUALENVWRAPPER_VIRTUALENV=/Library/Frameworks/Python.framework/Versions/3.8/bin/virtualenv
# source /usr/local/bin/virtualenvwrapper.sh
source /Library/Frameworks/Python.framework/Versions/3.8/bin/virtualenvwrapper.sh
which virtualenv
或which python
以获取精确路径。1.
安装virtualenvwrapper
pip3 install virtualenvwrapper
mkdir ~/.virtualenvs
3.
在导出之前,请确保您正在项目文件夹中进行操作,因为那里是您将激活虚拟环境的地方。
导出
export WORKON_HOME=$HOME/.virtualenvs
which python3
,查找路径并在等号后面添加它。export VIRTUALENVWRAPPER_PYTHON=
在我的情况下:
export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.9/bin/python3
要查找virtualenv路径,请在终端中输入 which virtualenv
将路径添加到“=”符号后面
export VIRTUALENVWRAPPER_VIRTUALENV=
在我的情况下:
export VIRTUALENVWRAPPER_VIRTUALENV=/Library/Frameworks/Python.framework/Versions/3.9/bin/virtualenv
4.
最后一步是在终端中添加源。
几乎与写入 which virtualenv
时获得的路径相同。
不同之处在于末尾有 "wrapper.sh"。
在我的情况下:
source /Library/Frameworks/Python.framework/Versions/3.9/bin/virtualenvwrapper.sh
5.
现在,您可以通过以下方法创建虚拟环境名称:
mkvirtualenv nameOfTheVirtualEnviroment
在我的情况下
mkvirtualenv venv
在这个 Mozilla 页面上,您可以学习如何使用虚拟环境。
source ...
命令时,我的终端会被关闭。 - Anum Sheraz我在我的Mac OS(Big Sur)上安装virtualenvwrapper时遇到了很多问题,但是在我花费整个星期天的时间后,我终于解决了它。我做了什么:
我使用Homebrew重新安装了Python3。由于某种原因,Homebrew将文件放在非常规目录中(例如:/opt/homebrew/bin/python3或/opt/homebrew/bin/virtualenv)。
然后我安装了virtualenv(即使它已经默认安装在Python3中),并以sudo模式安装了virtualenvwrapper:sudo pip3 install virtualenvwrapper(没有sudo,我找不到virtualenvwrapper.sh,无法使用whichvirtualenvwrapper命令)。
之后,在我的主目录(/˜)中,我使用touch .bashrc创建了.bashrc文件,因为这个文件在我的主目录中不存在。
我使用“which python3”、“which virtualenv”和“which virtualenvwrapper.sh”命令获取它们的位置(重要的是获取这些位置以填充.bashrc文件)。结果是:
接下来,使用vim编辑器,我像这样写入该文件:
export WORKON_HOME=$HOME/.virtualenvs export PROJECT_HOME=$HOME/Devel export VIRTUALENVWRAPPER_PYTHON=/opt/homebrew/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=/opt/homebrew/bin/virtualenv source /opt/homebrew/bin/virtualenvwrapper.sh
然后,我使用:wq命令保存此文件,并使用以下命令运行它:
source .bashrc
然后,我使用“workon”命令进行测试。它没有显示任何内容,所以它起作用了。
最后,我创建了一个虚拟环境,它也起作用了。
which python3.8
检查了Python路径,操作系统为Big Sur(11.4)。
/Users/apple/opt/anaconda3/bin/python3.8
which virtualenvwrapper.sh
。/Users/apple/opt/anaconda3/bin/virtualenvwrapper.sh
根据上述路径,我已更新了我的~/.bash_profile文件,如下所示。
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/Users/apple/opt/anaconda3/bin/python3.8
source /Users/apple/opt/anaconda3/bin/virtualenvwrapper.sh
然后我成功地找到了~/.bash_profile文件。
这个解决方案也适用于11.1版本。
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
# export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
export VIRTUALENVWRAPPER_VIRTUALENV=/Library/Frameworks/Python.framework/Versions/3.8/bin/virtualenv
# source /usr/local/bin/virtualenvwrapper.sh
source /Library/Frameworks/Python.framework/Versions/3.8/bin/virtualenvwrapper.sh
# Configuration for virtualenv
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=' -p /Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11 '
export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11
export PATH="/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages:$PATH"
source /Library/Frameworks/Python.framework/Versions/3.11/bin/virtualenvwrapper.sh
Stan的解决方案对我需要不同的.bash_profile修改: (macOS Catalina和Python 3.6)请确保您将版本路径从“..../3.6/...”更改为您的版本。您可以使用“which python3”命令查找Python路径,“which virtualenv”查找virtualenv路径
### BEGIN: for virtualenvwrapper #########################
# Setting PATH for Python 3 installed by brew
# commented the Python path because I have already had that, you might have too.
# PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin/python3:${PATH}"
# export PATH
# Configuration for virtualenv
WORKON_HOME="${HOME}/.virtualenvs"
export WORKON_HOME
VIRTUALENVWRAPPER_PYTHON="/Library/Frameworks/Python.framework/Versions/3.6/bin/python3"
export VIRTUALENVWRAPPER_PYTHON
VIRTUALENVWRAPPER_VIRTUALENV="/Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenv"
export VIRTUALENVWRAPPER_VIRTUALENV
source /Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh
### END: for virtualenvwrapper #########################
python
,这就是为什么您需要一个不同的path
来执行python
的原因。 - Stan Reduta
python3
可能不会将Python包放在此答案所期望的位置。从我的brew install python
中,我得到了以下信息:... 您可以使用以下命令安装Python包 pip3 install
它们将被安装到site-package目录下
/usr/local/lib/python3.8/site-packages
...
- Michael将 WORKON_HOME 导出为 $HOME/.virtualenvs 将 VIRTUALENVWRAPPER_PYTHON 导出为 /opt/homebrew/bin/python3 将 VIRTUALENVWRAPPER_VIRTUALENV 导出为 /opt/homebrew/bin/virtualenv 运行 /opt/homebrew/bin/virtualenvwrapper.sh 脚本
- Dr Manhattan