安装Python库遇python setup.py egg_info执行失败问题求助
解决
python setup.py egg_info执行失败问题 错误根源分析
从错误日志可以明确看到,问题出在临时安装目录中的futures包:
raise type(self._exception), self._exception, self._traceback
这是Python 2的语法,Python 3.x不支持这种写法。而Python 3.2及以上版本已经内置了concurrent.futures模块,不需要额外安装第三方的futures包。这个旧包会和内置模块冲突,导致安装流程崩溃。
解决方案
安装时排除
futures包
直接在安装命令中指定排除该包,替换[目标库名]为你要安装的Python库:pip install [目标库名] --exclude-packages futures通过requirements.txt安装的处理
如果是用requirements.txt批量安装,在文件末尾添加:--exclude-packages futures或者直接删除文件中存在的
futures依赖项(如果有的话)。清理pip缓存
清除pip本地缓存的旧包文件,避免残留干扰:pip cache purge之后重新执行安装命令。
使用干净的虚拟环境
如果之前使用了虚拟环境,可能存在残留的冲突包,建议创建新的虚拟环境后再安装目标库:# 创建虚拟环境(Python 3.8为例) python3.8 -m venv venv # 激活虚拟环境(Windows) venv\Scripts\activate # 激活虚拟环境(Linux/macOS) source venv/bin/activate # 安装目标库 pip install [目标库名] --exclude-packages futures
完整错误详情
× python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [27 lines of output] Traceback (most recent call last): File "<string>", line 2, in <module> File "<pip-setuptools-caller>", line 14, in <module> File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\setuptools\__init__.py", line 189, in <module> monkey.patch_all() File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\setuptools\monkey.py", line 99, in patch_all patch_for_msvc_specialized_compiler() File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\setuptools\monkey.py", line 169, in patch_for_msvc_specialized_compiler patch_func(*msvc14('_get_vc_env')) File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\setuptools\monkey.py", line 149, in patch_params mod = import_module(mod_name) File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\setuptools\_distutils\_msvccompiler.py", line 20, in <module> import unittest.mock File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\unittest\mock.py", line 26, in <module> import asyncio File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\asyncio\__init__.py", line 8, in <module> from .base_events import * File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 18, in <module> import concurrent.futures File "C:\Users\user\AppData\Local\Temp\pip-install-twkk39nd\futures_4d8c6ddbc6364dc695303ee580bc321a\concurrent\futures\__init__.py", line 8, in <module> from concurrent.futures._base import (FIRST_COMPLETED, File "C:\Users\user\AppData\Local\Temp\pip-install-twkk39nd\futures_4d8c6ddbc6364dc695303ee580bc321a\concurrent\futures\_base.py", line 357 raise type(self._exception), self._exception, self._traceback ^ SyntaxError: invalid syntax [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.
内容的提问来源于stack exchange,提问作者the_voltex
相关产品推荐
相关产品推荐

