python3虚拟环境

首先强烈推荐大家使用python3提供的虚拟环境进行依赖管理,这样的话,每个项目都有自己独立的依赖环境。避免了不同项目使用同一个依赖的不同版本而导致的冲突。

不使用虚拟环境

如果不使用虚拟环境,那么所有项目依赖的包都会存放在一起,这也是以前包的管理方式,好处是用到相同的包不需要重复下载,然而更大的坑是如果以后其他项目用到了同样包的不同版本,就很难搞了;

比如在开发A项目时使用了最新的1.1版本的flask框架,开发完毕并上线正常运行。

python虚拟环境python版本 python虚拟环境venv_python


过了一段时间再次开发项目B,此时使用最新的1.2版本的flask框架,开发完毕并上线。

python虚拟环境python版本 python虚拟环境venv_python_02

此时再次迭代开发A项目时,可能因为版本的变化而导致A项目无法像原来那样运行。

python虚拟环境python版本 python虚拟环境venv_虚拟环境_03

使用虚拟环境

使用python3提供的虚拟环境开发,那么A项目在开发时,A项目的所有依赖环境一般都是A项目内,B项目的所有依赖都是B项目中。这样版本就不会相互影响了。

所以建议大家养成好习惯,在每个项目中都使用虚拟环境进行依赖管理。

python虚拟环境python版本 python虚拟环境venv_虚拟环境_04

代码示例

下面我们看怎么创建虚拟环境

# 创建项目根目录
mkdir myscrapy  
# 切换到项目目录
cd myscrapy     
# 创建虚拟环境,第一个venv是python的模块venv,不能修改
# 第二个venv是自定义的虚拟目录名称,可以修改,不过一般建议还是使用venv作为目录
python3 -m venv venv
# 此时在myscrapy目录中多了一个venv文件夹
# 开启虚拟环境
source venv/bin/activate 
# 此时命令行变成了如下的样子
(venv) [root@itxxq myscrapy]#
# 开发阶段就一直保持在虚拟环境中进行各种操作,比如安装依赖,运行项目
(venv) [root@itxxq myscrapy]# pip3 install flask, pymysql
# 退出虚拟环境
deactivate

相信大家对于虚拟环境venv有了大概的了解。赶紧用起来吧,一边用一边再深入研究,相信很快就会掌握了。