You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么pip安装setuptools打包项目时不下载install_requires声明的依赖?

install_requires作用与依赖不生效问题解答

install_requires的具体作用

  • 用于声明Python包正常运行所需的核心第三方依赖,以及对应的版本约束规则
  • 当你通过pip安装对应包时,pip会自动读取包内的依赖声明,校验本地环境是否满足要求,不符合的话会自动下载安装适配版本的依赖包,无需用户手动逐个安装
  • 可以避免因依赖版本不对导致的包运行异常问题

依赖不生效的成因

你遇到的问题核心原因是配置位置错误:install_requires是[options]段的配置项,你错误把它写在了[metadata]段下,setuptools打包时不会读取[metadata]段下的install_requires配置,导致打包生成的包没有携带依赖声明,pip安装时自然不会自动安装对应依赖。

修正后的配置示例

[metadata]
name = totems_pycommon
version = 1.0.0
#long_description = file: README.rst, CHANGELOG.rst, LICENSE.rst

[options]
include_package_data = True
python_requires = >=3.6
packages = find:
package_dir =
    =.
# 依赖配置移动到[options]段下才会生效
install_requires=
    kafka==1.2.0
    elasticsearch7==7.14.1
    requests

[options.packages.find]
where = .
#include = *
exclude = *.test

[options.package_data]
* = *.ini

生效操作步骤

  1. 删除项目中历史打包生成的build、dist、totems_pycommon.egg-info三个目录,避免旧缓存干扰
  2. 重新执行打包命令:python setup.py sdist bdist_wheel
  3. 安装新生成的包即可看到pip自动下载安装对应依赖

你之前安装时的现象参考截图:
安装项目时的截图

内容的提问来源于stack exchange,提问作者Stven David

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 11:24:02