incipe
读完需要
3分钟
速读仅需 1 分钟
为什么需要虚拟环境
简单来讲,就是因为不同的项目可能需要不同的python package。但是,往往安装了最新版本的package会覆盖掉原来的,导致原有的项目因为package不同而无法正常工作。最常用的一个办法就是使用 virtualenv 创建虚拟环境,虚拟环境允许我们重新安装package而不影响系统全局的python解释器的package。我们可以创建多个虚拟环境,维护不同package版本的项目。
使用
安装
sudo pip3 install virtualenv # 安装虚拟环境
sudo pip3 install virtualenv # 安装虚拟环境
安装了 virtualenv
之后就可以创建虚拟环境了,但是命令有点复杂,我们通过安装扩展包来简化操作。
sudo pip3 install virtualenvwrapper # 安装虚拟环境扩展包
sudo pip3 install virtualenvwrapper # 安装虚拟环境扩展包
配置
配置虚拟环境存放位置。
vim ~/.zshrc # 我使用的是zshrc,使用的bash改成bashrc
# 在最后面添加
export WORKON_HOME = $HOME/.virtualenv # 新增环境变量WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh # 使virtualenvwrapper命令生效
vim ~/.zshrc # 我使用的是zshrc,使用的bash改成bashrc
# 在最后面添加
export WORKON_HOME = $HOME/.virtualenv # 新增环境变量WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh # 使virtualenvwrapper命令生效
退出 ~/.zshrc
source ~/.zshrc # 使zshrc命令立即生效
source ~/.zshrc # 使zshrc命令立即生效
创建
mkvirtualenv 虚拟环境名字 # 创建的使用的是python2的版本
mkvirtualenv -p python3 虚拟环境名字 # 创建的是python3版本
mkvirtualenv 虚拟环境名字 # 创建的使用的是python2的版本
mkvirtualenv -p python3 虚拟环境名字 # 创建的是python3版本
创建的虚拟环境可以到我们设置的 ~/.virtualenv
目录下找到。
进入/退出虚拟环境工作
# 进入虚拟环境
workon 虚拟环境名
# 退出当前虚拟环境
deactivate
workon + 按两次tab键,显示当前所有的虚拟环境
# 进入虚拟环境
workon 虚拟环境名
# 退出当前虚拟环境
deactivate
workon + 按两次tab键,显示当前所有的虚拟环境
删除虚拟环境
rmvirtualenv 虚拟环境名
rmvirtualenv 虚拟环境名
如何查看package包
我们可以使用命令 pip list
或者 pip freeze
来显示当前python里面安装了哪些包。
真实环境里面,package一般放在 /usr/local/lib/
路径下。
虚拟环境,package就在 ~/.virtualenv/虚拟环境名/lib
路径下。
注意
创建虚拟环境,并不是说我们退出虚拟环境,我们在虚拟环境里面创建的文件之类的就消失了,依旧存在的,虚拟环境只是给我们提供了一个真实的python环境,或者说系统环境,不相同的只是环境的不同,其它的都是一样的。这个跟沙盒还是有区别的。
在虚拟环境里面不要使用sudo来安装package
使用的 sudo
会导致 package
或者 软件
安装在真实的python环境里面。