Python 相关汇总

◇ 包管理

▷ PIP

简单预览当前环境下的依赖包可以直接用 pip list 命令:

1
2
3
4
5
6
7
8
9
$ pip list
Package Version
------------------ ---------
certifi 2023.7.22
charset-normalizer 3.3.2
idna 3.4
pip 23.2.1
requests 2.31.0
urllib3 2.0.7

如果想要将这个信息记录下来,可以用 pip freeze 命令,记在 requirements.txt 中 (一个约定俗成的名字):

1
2
3
4
5
6
7
8
$ pip freeze > requirements.txt
$ cat requirements.txt
certifi==2023.7.22
charset-normalizer==3.3.2
idna==3.4
pipdeptree==2.13.1
requests==2.31.0
urllib3==2.0.7

以后如果需要在一个新的 Python 环境中引入当前的依赖,只需要使用以下命令即可:

1
pip install -r requirements.txt

使用 pipdeptree 工具来管理依赖树:

1
2
3
4
5
6
7
8
9
$ pip install pipdeptree
$ pipdeptree
pip==23.2.1
pipdeptree==2.13.1
requests==2.31.0
├── certifi [required: >=2017.4.17, installed: 2023.7.22]
├── charset-normalizer [required: >=2,<4, installed: 3.3.2]
├── idna [required: >=2.5,<4, installed: 3.4]
└── urllib3 [required: >=1.21.1,<3, installed: 2.0.7]

传统的 pip uninstall 无法卸载依赖项,如果要删除一个软件包,推荐使用 pip-autoremove 工具,这样可以将软件包及其依赖包也卸载掉:

1
2
pip install pip-autoremove
pip-autoremove <name> -y

▷ Conda

Conda 的安装参见:链接

1
2
3
4
5
# 导出软件包配置文件
conda env export > environment.yaml

# 根据配置文件复现当前环境
conda env create -f environment.yaml

◇ 参考内容

  1. Python 包的依赖管理,有解了!. https://juejin.cn/post/7125603521302364190