
- 目的
- venv
- 激活环境
- 安装第三方包
- 生成requirements.txt
- 退出环境
- 结语
最近想搞个Python项目,但知道默认pip安装的包都是全局的,这对一个项目的长期维护并不友好,也可能是写前端写惯了,喜欢独立的运行环境,所以先搞个虚拟环境出来。顺便说一下,几年前我用过pipenv,不过更新包有时候很慢,要算很久,这次不用了,直接原生方法搞。
venv官方文档地址:https://docs.python.org/3/library/venv.html
venv是Python3.3版本以后,新增的内置库,是专门用来生成虚拟环境的,我现在使用的Python版本是3.10.4,所以拥有此工具。
创建一个你项目的目录,在根目录执行:
python -m venv .env
.env是我自己起的名字,是用于存放虚拟环境的文件夹名称,你可以写换成任何自己喜欢的,python -m venv的是命令固定写法,代表执行这个模块。
执行成功以后,项目目录里就会多出一个.env文件夹,里边有若干内容,
主要用Scripts文件夹下的命令,因为我这里是Windows系统,使用Activate.ps1这个脚本进行环境激活
我们返回根目录,执行下边脚本,即可激活环境
.\.env\Scripts\Activate.ps1
成功激活环境之后,命令行会出现(.env)的标志
安装第三方包注: 如果用Mac或者Linux,命令使用
source命令进行激活,脚本的目录结构跟Windows系统也有差别,我没亲自尝试。
现在我们已经启动了虚拟环境,来安装个包试试吧。因为我想搞个量化项目,所以就安装backtrader这个包吧
这里只是为了演示个装包的过程,并生成requerments.txt文件,具体装什么包不是重点,backtrader是个量化回测框架,本身跟创建虚拟环境无关。
pip install backtrader
安装成功后,可以切换到.env/Lib/site-package文件夹可以看到,这里多了刚安装成功的包,也就验证了我们的包并没有安装到全局,而是安装到了自己的独立环境中
requirements.txt是python项目的一个重要文件,相当于nodejs的package.json,记录项目的依赖。我们创建独立虚拟环境的最终目的,也是为了可以创建一份“干净”的依赖,不会将全局的包写进来。
pip freeze > requirements.txt
这个命令会自动将你环境中安装的包写入requirements.txt,成功执行后,可以用vscode打开文件,可以看到依赖已经成功写入。
当你把项目传到代码仓库在其他电脑上用时,就可以直接执行
pip install -r requirements.txt
这样,我们就完成了一个python项目的简单“工程化”。
退出环境执行命令
deactivate
看到命令行的(.env)消失,就说明退出成功了
好啦,到这里我们项目的独立环境就搞好了,可以进行实际开发了。
另外说一点独立虚拟环境在Windows系统的好处:当你用pip在全局环境安装包时,总会提示你权限错误,需要管理员权限,就很烦,利用独立虚拟环境之后,这个问题就可以很好解决了。
再就是独立环境可以让不同项目依赖同一个包的不同版本,方便的很,好处多多。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)