Python 环境管理

从virtualenv->conda->poetry->rye

说一下我个人使用的一些python包管理工具的使用心得, 以及一些不断切换的原因。
  1. virtualenv
  • 最早使用的是virtualenv, 当时python还没有venv, virtualenv是一个第三方的包,用于创建独立的python环境。

  • python使用虚拟环境的原因也很简单,就是解决不同项目之间的依赖问题,比如项目A需要用到一个版本的requests, 项目B需要用到另一个版本的requests, 这时候就需要两个独立的python环境。

  • 后来python3.3开始自带了venv, 用法和virtualenv差不多,但是venv更加简单,不需要安装额外的包。

  1. conda
  • 当使用python做过一些项目后,感觉在每一个项目里面安装一样的依赖看上去挺无聊。而conda提供了一个集中环境管理的解决方案。如果做数据分析, 需要用的pandas, numpy, scikit-learn, matplotlib等等,可以单独创建的个数据分析的虚拟环境,那只要是数据分析的项目,可以用一个环境。
  1. poetry
  • Poetry 可以安装在global,类似conda, 但是官方建议单独安装在virtual environment 虚拟环境, 可以单独建一个虚拟环境,单独安装poetry, 然后将{project_fold}/venv/bin 加入PATH环境,后面再使用poetry new 创建新的项目, 管理环境,用poetry shell 激活环境。
  • 如果需要切换python 版本,可以使用pyenv或者, 在全局环境安装对应的python版本,在pyproject.toml文件中指定对于的python版本。poetry install 使用对于的Python版本来创建环境。
  1. rye
  • rye是一个比较新的包管理工具,rye是安装在全局环境,并且是依赖virtualenv来管理虚拟环境。并且rye是要求替代pip来管理并安装依赖,我还没有尝试过,但是目前看上去对LSP支持还有一些缺陷,我不清楚类似pyright如何知道rye项目的python环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值