为什么要构建虚拟环境
- 很多时候不同的 Python 应用所依赖的版本是冲突的,满足了其中一个,另一个则无法运行,解决这一问题的方法是 虚拟环境,互不干扰
安装虚拟环境
- 在 python3.3 之前,只能通过 virtualenv 创建虚拟环境,首先需要安装 virtualenv
pip install virtualenv
- 创建虚拟环境
virtualenv模块
virtualenv --no-site-packages myvenv
参数 --no-site-packages 的意思是创建虚拟环境时,不复制主环境中安装的第三方包,也就是创建一个 “干净的” 虚拟环境
virtualenv 还有很多参数,用于不同的使用场景,例如:
- -p: 用于指定 Python 解析器,就是安装好的 Python 应用程序,默认为当前环境中的 Python
- --no-pip:不需要安装 pip,默认为安装
- --clear:如果创建虚拟环境的目录已经有了其他虚拟环境,清楚重建
venv 模块
Python3.3 之后,可以用模块 venv 代替 virtualenv
python -m venv myvenv
在当前目录创建一个名为 myvenv 的虚拟环境
参数:
- --without-pip: 不需要安装 pip,默认为安装
- --clear:如果创建虚拟环境的目录已经有了其他虚拟环境,清楚重建
激活
虚拟环境创建好后,需要激活才能在当前命令行中使用
source myvenv/bin/activate
退出虚拟环境很简单,只需要执行 deactivate 命令就行
服务器部署虚拟环境
一般部署流程是:
-
开发完成后,使用 pip freeze > requirements.txt 命令将项目的库依赖导出,作为代码的一部分
-
将代码上传到服务器
-
在服务器上创建一个虚拟环境
-
激活虚拟环境,执行 pip install -r requirements.txt,安装项目依赖
退出
deactivate
网友评论