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

Travis CI构建报python setup.py egg_info运行失败如何修复

Travis CI构建python setup.py egg_info did not run successfully报错解决

问题根因

这个报错和本地PyCharm使用的Conda虚拟环境无关,是Travis CI构建环境内依赖版本冲突导致的。
python setup.py egg_info did not run successfully只是pip抛出的通用顶层提示,不代表egg_info机制废弃引发的兼容问题:当前新版本pip安装本地源码包时,仍会调用setuptools相关逻辑生成包元数据,这一步报错的本质是setuptools运行时触发了依赖冲突。
从错误栈最后一行AttributeError: 'str' object has no attribute 'name'可以定位,这是Python3.7环境下setuptools和其依赖importlib_metadata版本不匹配的典型特征:构建步骤中仅升级了pip,没有固定setuptools及相关依赖的版本,Travis提供的Python3.7虚拟环境会拉取互不兼容的最新版依赖组合,直接触发运行时错误。
本地运行正常是因为Conda环境内的setuptools、importlib_metadata是经过适配的版本组合,不存在版本错配问题。

修复方案

二选一即可:

  • 若需要保留Python3.7构建配置,在执行pip install .前先固定适配的依赖版本,修改.travis.yml的install段如下:
install:
  - pip install --upgrade pip
  - pip install "setuptools<66" "importlib_metadata<5"
  - pip install .

版本选择逻辑:setuptools 66及以上版本正式放弃Python3.7支持,importlib_metadata 5.0及以上版本也不再适配Python3.7,降到上述版本区间即可消除属性报错。

  • 若项目不需要兼容Python3.7,直接将Travis构建使用的Python版本升级到3.8及以上即可。高版本Python自带标准库importlib.metadata,无需依赖第三方importlib_metadata包,可从根源避免这类版本冲突。

原构建报错日志

Worker information

0.14s0.01s0.00s0.01s
system_info

Build system information

0.01s0.01s0.73s0.27s0.05s0.00s0.04s0.00s0.01s0.01s0.01s0.01s0.01s0.00s0.00s0.02s0.00s0.01s0.25s0.00s0.00s0.00s0.01s0.00s0.09s0.00s0.97s0.00s0.00s6.03s0.00s3.57s0.00s2.52s
docker_mtu_and_registry_mirrors
resolvconf
git.checkout

1.09s$ git clone --depth=50 --branch=main https://github.com/REDACTED 

0.01s0.01s$ source ~/virtualenv/python3.7/bin/activate

$ python --version

Python 3.7.1

$ pip --version

pip 22.0.4 from /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/pip (python 3.7)
install.1
2.45s$ pip install --upgrade pip
0.79s$ pip install .

Processing /home/travis/build/REDACTED
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error


  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [22 lines of output]
      Traceback (most recent call last):
        File "<string>", line 36, in <module>
        File "<pip-setuptools-caller>", line 14, in <module>
        File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/setuptools/__init__.py", line 18, in <module>
          from setuptools.dist import Distribution
        File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/setuptools/dist.py", line 34, in <module>
          from ._importlib import metadata
        File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/setuptools/_importlib.py", line 28, in <module>
          disable_importlib_metadata_finder(metadata)
        File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/setuptools/_importlib.py", line 12, in disable_importlib_metadata_finder
          import importlib_metadata
        File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/importlib_metadata/__init__.py", line 471, in <module>
          __version__ = version(__name__)
        File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/importlib_metadata/__init__.py", line 438, in version
          return distribution(package).version
        File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/importlib_metadata/__init__.py", line 411, in distribution
          return Distribution.from_name(package)
        File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/importlib_metadata/__init__.py", line 179, in from_name
          dists = resolver(name)
        File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/setuptools/_vendor/importlib_metadata/__init__.py", line 886, in find_distributions
          found = self._search_paths(context.name, context.path)
      AttributeError: 'str' object has no attribute 'name'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.

error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

The command "pip install ." failed and exited with 1 during .
Your build has been stopped.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 08:24:21