Python依赖管理手册


Python 近些年异军突起的一大原因就是它有着极其庞大三方库,只有你想不到的没有它做不到的,合理的利用已有的三方库能够大大增加你的工作效率。

今天就让我们系统性的了解如何在 Python 中实现模块依赖管理。

一、服务安装

1. 环境搭建

首先当然时从 Python 环境安装开始,下面提供两种下载方案:官网和镜像下载。

Python 官网如下,根据操作系统选择下载对应的版本,链接直达

如果上述地址访问较慢,可尝试通过阿里镜像地址进行下载安装。

https://npm.taobao.org/mirrors/python/

下载后具体安装步骤比较简单,无脑下一步即可这里就不过多介绍,完成后默认安装路径在:C:\Users\<username>\AppData\Local\Programs\Python 下。

二、类库管理

安装完 Python 环境后即自带 pip 工具,通过其即可实现依赖管理。

1. 模块查看

通过 list 查看已安装的工具库,使用 show 则可查看指定工具库的信息。

# 查看所有依赖
pip list

# 查看指定依赖
pip show <module>

2. 安装卸载

通过 pip install 与工具库名称即可实现类库下载,之后即可在代码文件中导入。

pip install <module>

默认安装的路径为 Python 安装目录 lib\site-packages 下,当然也可通过 target 指定依赖下载目录。

如果自定义了安装路径,则在工程中需要配置 PYTHONPATH 环境变量指定对应目录。

pip install <module> --target=/path/to/directory

pip 安装工具库时,默认执行步骤会先下载对应的安装包后并解压,先写入缓存中后安装到环境。

因此对于服务内存有着一定的要求,否则 install 命令将会提示 MemoryError 内存异常。针对此类场景在安装时通过 --no-cache-dir 禁用缓存即可,语法如下:

pip install --no-cache-dir <module>

卸载工具库与下载类似,通过 uninstall 命令即可,语法如下:

pip uninstall <module>
(1) 批量下载

在一个工程中往往不止涉及到一个类库,如果手动的单个逐个下载显然效率过低,因此在 Python 可以通过文件配置达到类似前端工程 package.json 的效果。

新建记事本文件 requirements.txt 文件,在文件中添加所要下载类库并指定其版本号。

Django==3.2.18
boto3==1.26.94
requests==2.28.2

通过 -r 指定从文件中读取需下载的类库信息,运行命令即可实现批量下载上述文件中的所有类库。

pip install -r requirements.txt

3. 镜像依赖

众所周知,国内在下载安装国外一些工具和环境时经常抽风,所以镜像访问必不可少。

通过镜像下载配置十分简单,在下载时通过 -i 指定镜像地址即可,具体命令如下:

pip install -i <mirror> <module>

如通过清华镜像下载 numpy 库,命令如下:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy

这里分享几个资源比较全的国内镜像网站。

# 阿里云
http://mirrors.aliyun.com/pypi/simple/

# 清华
https://pypi.tuna.tsinghua.edu.cn/simple

# 中国科技大学
https://pypi.mirrors.ustc.edu.cn/simple/

三、工程管理

1. 依赖文件

如果在克隆别人分享的项目时,你会发现在项目根目录下通常包含 requirements.txt,文件中内容示例如下。

简而言之,此文件即定义了项目中所依赖的包工具以及版本信息,他人若需启动项目则可一键下载。

numpy==2.0.2
packaging==25.0
protobuf==3.20.3

那又该如何生成对应的依赖信息呢,在 pip 中则提供了 freeze 命令可按上述格式列出当前系统中已下载的依赖。

pip freeze

你也可以通过下述方式直接导出到 requirements.txt 依赖文件。

pip freeze > requirements.txt

2. 版本信息

requirements.txtpip 安装依赖时除了上述的 == 固定版本外提供了更灵活的定义。

通过使用的 ~= 可约束性最小版本,其作用为指定了最低版本要求。

例如下述安装 2.4.0 或更高版本,但不跨越主次版本号的范围,即 <3.0.0

pydantic ~= 2.4.0

其它常用的版本配置符号参考下表:

方法 作用
== 只能安装指定版本。
>= 最小版本要求。
<= 最大版本要求。
!= 排除某个版本。
~= 安装兼容版本。

3. 依赖安装

有了 requirements.txt 文件之后依赖安装就十分简单了,通过 -r 命令指定文件即可。

具体语法如下:

pip install -r requirements.txt

文章作者: 烽火戏诸诸诸侯
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 烽火戏诸诸诸侯 !
  目录