从javascript到python(二):virtualenv

本文探讨了Python和Node.js中解决环境隔离问题的方法。通过比较npm和virtualenv的库管理方式,阐述了如何避免库版本冲突,确保每个项目拥有独立的运行环境。并介绍了requirements.txt的使用,用于记录项目依赖。

前序文章《从javascript到python(一):基本环境搭建》中提到了pip和pip3安装Python的库,但是问题来了,安装之后的库都会放在如:python2.7/site-packages,这也意味着可能出现同一个库多个版本同时存在的问题。npm中的包管理工具是怎么解决的?

  • npm 全局安装的方式
npm install -g XXX  //表示包全局安装
  • 根据package.json来安装
npm install

第一种方法安装的包放在全局的node_moudle中,而后一种方法则把包安装到每一个项目下面的node_moudle中。后面一种安装方法我们可以理解为每一个项目一个单独的运行环境。

virtualenv实际上也是基于此原理来解决这个问题。具体的说明可以参考廖雪峰的Python3教程,具体的安装和使用方法,廖雪峰的文档中已经写得很清楚了,笔者就不赘述了。建立完成后会有一个venv 文件夹,

clipboard.png
其文件夹目录结构如下

clipboard.png

我们看到存在大量的软链接实际指向到全局的pip库的安装目录。

requirements.txt文件建立

实际上python 可以建立如npm中的package.json文件。在项目目录下使用如下指令
pip3 freeze > requirements.txt
即可导出当前环境下的库文件

clipboard.png

使用
pip3 install -r requirements.txt
可以根据requirements.txt完成库的安装

可能的坑

在编写程序过程中,经常会出现找不到包的情况,这种情况一般是没有把paython的路径配置到虚拟环境中,这需要如下图修改VSCode中的用户设置,配置成功后会在VS Code下方出现【venv】的字样

clipboard.png

总结

文章中写了很多原理的对比理解,建议读者从原理的角度去理解相关指令,而不是靠强行记忆。技术发展这么快,你是记不住的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值