pip安装自定义Python包时如何自动安装requirements.txt中的依赖
实现pip安装自定义包时自动安装依赖的配置方法
首先明确核心规则:requirements.txt仅用于手动批量安装依赖的场景,pip安装已发布的Python包时不会自动读取该文件,你需要将依赖声明写入项目的打包配置文件才能触发自动安装逻辑。
以下是两种主流配置方案:
方案1:官方推荐的pyproject.toml配置(适配setuptools≥61.0、poetry、flit等现代打包工具)
这是当前Python打包规范推荐的配置方式,操作步骤如下:
- 打开项目根目录的
pyproject.toml文件,新增/定位到[project]配置段 - 添加
dependencies字段,按格式写入所有运行时必需的依赖,示例如下:
[project] name = "my_package" version = "0.1.0" # 原有基础配置(作者、描述、许可证等)保持不变 dependencies = [ "requests>=2.25.0", "新增的非标准依赖包名>=最低兼容版本号", # 其余所有需要随包自动安装的依赖均按上述格式添加 ]
- 若存在仅部分功能需要的可选依赖,可新增
[project.optional-dependencies]段配置:
[project.optional-dependencies] full = [ "pandas>=1.3.0", "numpy>=1.21.0" ]
用户可通过pip install my_package[full]命令安装主包+可选依赖。
方案2:传统setup.py配置(适配旧版打包流程)
如果你的项目仍使用setup.py完成打包,修改setup()函数的对应参数即可:
- 打开项目根目录的
setup.py文件,定位到setup()函数调用位置 - 新增/修改
install_requires参数,示例如下:
from setuptools import setup setup( name="my_package", version="0.1.0", # 原有基础配置保持不变 install_requires=[ "requests>=2.25.0", "新增的非标准依赖包名>=最低兼容版本号", ], # 可选依赖对应extras_require参数,配置逻辑同上 extras_require={ "full": ["pandas>=1.3.0", "numpy>=1.21.0"] } )
配置验证
修改完成后,你可以在本地项目根目录执行pip install .命令测试安装,确认依赖会被自动安装后,再重新打包上传到PyPI即可,后续用户安装你的包时会自动拉取所有声明的依赖。
内容的提问来源于stack exchange,提问作者Lostsoul
相关产品推荐
相关产品推荐

