python——虚拟环境
1.为什么使用虚拟环境及作用
由上图所示,当不同的项目之间使用的版本不同时,python2.x与python3.x可以在服务器上共存,但是django版本此时无法为某一项目选择特定的版本。此时在python中可以使用虚拟环境来解决。在虚拟环境1中为A项目配置相关版本软件,在虚拟环境2中为B项目配置相关版本软件。
虚拟环境作用
用于安装不同版本的套件
virtualenv用于创建独立的python环境,多个python相互独立,互不影响。
- 在没有权限的情况下安装新套件
- 不同应用可以使用不同的套件版本
- 套件升级不影响其他的应用
2.虚拟环境搭建
2.1 安装虚拟环境
sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper
安装好虚拟环境之后,如果提示找不到mkvirtualenv命令,必须配置环境变量:
# 1.创建目录用于存放虚拟环境
mkdir $HOME/.virtualenvs #可使用默认,跳过
# 2.添加环境变量(~/.bashrc文件)
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
# 3.生效配置
source ~/.bashrc
2.2 创建虚拟环境
-
提示:如果不指定python版本,默认安装的是python2的虚拟环境
-
创建默认python版本的虚拟环境
mkvirtualenv 虚拟环境名称 # 不指定版本的话默认python2 mkvirtualenv -p python路径 虚拟环境名称 # 指定版本路径的话,可创建python3的虚拟环境
-
注意:
- 在创建虚拟环时,需要联网
- 创建成功后,会自动工作在这个虚拟环境上
- 工作在虚拟环境上,提示符嘴前面会出现“虚拟环境名称”
虚拟环境的默认位置:
/root/.virtualenvs/虚拟环境名称
进入以及切换虚拟环境
workon # 列出已经存在的虚拟环境
workon 虚拟环境名称 # 进入虚拟环境
退出虚拟环境
deactivate # 退出虚拟环境
删除虚拟环境
rmvirtualenv 虚拟环境名 # 删除虚拟环境
提示:如果此时想要删除当前的虚拟环境,需要先退出才能删除
2.3 在虚拟环境中安装相关包
# 在虚拟环境中安装包
pip install 包名==版本号 #“==”可用于指定版本号
# 查看已经安装的包
pip freeze
(mywork) [root@VM-0-16-centos home]# pip freeze
asgiref==3.4.1
Django==3.2.12
pytz==2021.3
sqlparse==0.4.2
typing_extensions==4.0.1