一、虚拟环境介绍
Python虚拟环境的主要目的是为了给不同的工程创建互相独立的运行环境。在虚拟环境下,每一个工程都有自己的依赖包,而与其它的工程无关。不同的虚拟环境中同一个包可以有不同的版本。并且,虚拟环境的数量没有限制,我们可以轻松地用virtualenv或者pipenv等工具来创建多个虚拟环境。
二、 virtualenv的安装和应用
(windows)安装步骤
- pip 安装 virtulenv
- pip 安装虚拟环境管理包 virtualenvwrapper-win
- 创建一个存放虚拟环境的目录(建议命名为.env或者.virtualenv)
- 配置环境变量(变量名:WORKON_HOME,值:上面创建的目录路径)
(mac) 配置
安装和windows一样mac安装环境管理包virtualenvwrapper 注意丶注意丶注意丶不要加-win
打开终端配置文件( 具体视你所用的终端而定,可能是/.bashrc、/.zshrc、~/.bash_profile等等… ),我这里用的是zsh终端,就:vim ~/.zshrc
在末尾加入以下代码:
# virtualenvwrapper
export VIRTUALENVWRAPPER_SCRIPT=/usr/local/bin/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
#export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
source /usr/local/bin/virtualenvwrapper.sh
VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
-
保存退出,然后应用该配置:
source ~/.zshrc
至此,Virtualenv已经安装好了,查看一下版本:
virtualenv --version
使用
# 创建纯净的虚拟环境 mkvirtualenv -p python3 --no-site-packages 虚拟环境名称 # 使用虚拟环境(在启动虚拟环境后安装包时要使用pip而不是pip3 (pip3 会将包安装到真实环境中)) workon 虚拟环境名称 # 退出虚拟环境 deactivate # 删除虚拟环境 rmvirtualenv 虚拟环境名称
mac 安装 virtualenvwrapper后执行命令mkvirtualenv demo-py 报错:zsh:command not found:mkvirtualenv
现象:
~ % mkvirtualenv demo-py zsh: command not found: mkvirtualenv
解决
- 确认文件which virtualenvwrapper.sh的路径 /Library/Frameworks/Python.framework/Versions/3.9/bin/virtualenvwrapper.sh
- mkdir ~/env
- 编辑配置文件:vi ~/.zsrc export WORKON_HOME=~/env VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3 source /Library/Frameworks/Python.framework/Versions/3.9/bin/virtualenvwrapper.sh
- 使配置文件生效:source ~/.zsrc
三丶 virtualenv的使用
创建虚拟环境
mkvirtualenv -p python3 --no-site-packages 虚拟环境名称
查看虚拟环境
workon 或者 lsvirtualenv
进入虚拟环境
workon [虚拟环境名称]
删除虚拟环境
rmvirtualenv [虚拟环境名称]
退出虚拟环境
deactivate
四丶pipenv管理模块和包
在虚拟环境中安装模块或者包(注意点在当前项目路径下执行以上命令)
- 通过–dev指明只安装在开发环境中(开发环境是你当前开发的环境,生产环境是上线部署的实际环境)
- pipenv install --dev requests
- 安装包记录是在[dev-packages] 部分,或是[packages]部分
- 在安装时,指定–dev参数,则只安装[dev-packages]下的包;若安装时不定指定-dev参数,只会安装[packages) 包下面的模块
- 卸载虚拟环境的模块包 pipenv uninstall 包名
- 查看安装包及依赖关系 pipenv graph
- 生成requirements.txt文件
pipenv lock -r --dev > requirements.txt
- 通过requirements.txt安装环境
pipenv install -r requirements.txt