python
因为丰富的扩展库被大家所青睐,但是当开发环境中的第三方包越来越多的时候,基于该开发环境开发的应用越来越难以移植、迁移。像在操作系统中我们可以用容器(例如docker
)将开发环境和生产环境分开,在做python的应用开发的时候,我们同样需要给每个应用提供一个隔离的运行环境,从而避免增加不必要的版本冲突和排查成本。
virtualenv就是干这行的。
安装
安装其实非常简单。
首先你必须安装好pip
(装python的时候没有人不装吧?)
然后输入命令
1 | pip3 install virtualenv |
等待安装完成就大功告成了!
注:Python3 已经内置了 venv 模块,实际上不需要手动安装即可。查看是否安装
1 | python3 -m venv --help |
基本操作
创建虚拟环境
只要在自己希望创建虚拟环境的位置,输入
1 | virtualenv test |
等待一段时间,即可创建一个名称为“test”的虚拟环境,以后,在这个虚拟环境下下载第三方的包都会被放在这个文件夹下面。
下图表示创建成功:
然后你的虚拟环境的所有配置都存放在test文件夹中,
默认的目录结构如下(Windows 10 环境下)
1 | - test |
旧版命令创建的虚拟环境会默认继承实际环境存在的第三方包,如果需要创建一个干净的虚拟环境
输入:
virtualenv --no-site-packages test
新版默认创建无第三方包的纯净环境
进入虚拟环境
windows
系统进入Script
文件夹,执行activate.bat
文件
linux
执行:
1 | source test/bin/activate |
test是你创建的虚拟环境所在的文件夹
当命令行前面出现虚拟环境名说明已经切换到虚拟环境中,之后你安装的第三方依赖包都会下载到这个虚拟环境中,从而不影响本机实际的python运行环境。实际上也是将这些依赖下载到这个虚拟环境所在的文件夹中
退出虚拟环境
windows
输入
linux
系统执行
1 | source test/bin/deactive |
交接环境
这个做法比较常见,出现在你需要将自己的开发环境转移到另外一台电脑或移交给某人的时候,需要将自己的虚拟环境拷贝到另外的地方
做法是
- 先冻结环境包,将包的版本信息保存在一个文本文件中
1 | pip freeze > requirements.txt |
- 在另外一个环境中直接下载所有依赖
1 | pip install -r requirements.txt |
其他命令
用法:
1 | $ virtualenv [OPTIONS] DEST_DIR |
选项:
1 | –version |
组成
再看一下virtual环境的目录(Windows 10环境下)
1 | - [虚拟环境名] |
- Include :
- Lib:库文件
- Script: 脚本文件
- tcl
首先介绍一下python的运行环境。
在VScode中愉快玩耍
如何在
VScode
中部署virtual
环境
第一种方法
在项目的\.vscode\launch.json
文件里加了一句:"pythonPath": "D:\\myproject\\venv\\Scripts\\python.exe",
第二种方法
本人亲测有效
要在VScode
中使用Python
的virtualenv
虚拟环境,首先在设置同添加虚拟环境所在目录和虚拟环境的识别规则:
1 | { |
之后当你想要切换虚拟环境的时候只需要通过命令面板Python: Select Interpreter
就会列出所有的虚拟环境.
它其实是在你的项目根目录下新建了一个
./.vscode/settings.json
配置文件,将解释器路径选项写在里面了,该文件称为工作区设置,可以针对每个项目单独设置配置项。
第三种方法
在命令行激活虚拟环境后,直接用 code
打开项目文件夹就行了。。。
1 | venv\scripts\activate |
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤