一般会有一个 requirements.txt,用来一次性安装需要的依赖。
1 | 将当前pip安装的依赖库全部输出在对应文件 |
此处所有操作命令,都只写了 Linux/MacOS 的版本,未列出 Windows。(官方有仔细写出)
virtualenv
隔离 python 依赖包环境。
能够让每一个项目,都有一个单独的 python 环境。支持各个 python 版本,但是与 python 版本耦合,需要单独安装。
1 | 安装 virtualenv |
因为大多数时候,使用最新版本的 python,所以,很少使用。应该是最早的隔离工具,后续的工具,隔离python 依赖包环境时,基本都继承了这个三个方法。
venv(python 3.6+)
python3.6+ 官方,用来隔离 python 环境的工具。
python3.4开始,官方自带 pyvenv
,但是3.4有问题。3.5正式支持,由名字过于容易混淆,在3.6中该名称(pyvenv)被弃用
1 | 创建虚拟环境 |
venv 出来的 pip,用的是 python发行时的 pip,不会使用后续更新的pip 版本。提示有点烦人。
Pyenv:隔离python版本
是一个 shell 层的插件,不支持Windows。由于是 shell 插件,所以本体和插件安装完以后,需要修改 shell 配置文件来启用。具体参考官方。
跟以上工具不同,这个工具,主要用来隔离不同的 python 版本 。
- 插件:pyenv-virtual:支持隔离各个 python 版本的依赖包环境。
pyenv 的一个插件,支持给 pyenv 的不同版本创建不同的虚拟包环境。否则,不同版本的 pip 安装都是装在对应版本的全局环境中。
1 | 激活环境 |
conda
暂未了解
pipx
1 | --user 把第三方库装进用户相关的路径,而不是全局 |
隔离环境下,安装执行python
第三方库。
官方安装手册不是很完善,还是需要手动把环境变量搞好。
几个命令倒是好猜。但是这个更像是临时性质的,pipx 对每个库只缓存 2 天。