安装hachoir-metadata报错:python setup.py egg_info执行失败
解决hachoir-metadata安装的Python版本兼容问题
你提到正在参考相关文档安装hachoir-metadata,执行的步骤是:
conda create -n hachoir-metadata pip python=3.5 activate hachoir-metadat pip install --upgrade hachoir-metadata
你的环境是Python 3.5.5、Anaconda 3.6.5,安装时碰到了Command "python setup.py egg_info" failed with error code 1的报错,试过升级setuptools、安装ipykernel都没解决,怀疑是Python版本不兼容的问题——你的判断完全正确!
问题根源
Python 3.5早在2020年就已经停止官方维护了,现在很多Python包(包括hachoir-metadata的新版本)都已经放弃了对它的支持,你遇到的语法错误就是新版本包用了Python 3.6+才支持的语法,导致在3.5环境里无法解析。
可行解决方案
方案1:安装适配Python 3.5的旧版hachoir-metadata
直接指定一个明确支持Python 3.5的版本安装,比如1.3.3版本:
# 先激活你的conda环境(注意你之前的命令里环境名打错了,是hachoir-metadata) activate hachoir-metadata pip install hachoir-metadata==1.3.3
方案2:升级Python版本到3.6+
你的Anaconda版本是3.6.5,完全可以创建一个Python 3.6的环境来安装最新版的hachoir-metadata,这样后续使用也更省心:
conda create -n hachoir-metadata-new pip python=3.6 activate hachoir-metadata-new pip install --upgrade hachoir-metadata
Python 3.6的兼容性和维护周期都比3.5好很多,能避免不少类似的版本兼容问题。
额外提示(针对坚持用Python 3.5的情况)
如果你一定要用Python 3.5,除了指定旧版hachoir-metadata,还要注意setuptools的版本也得兼容3.5——新版setuptools同样不再支持3.5,你可以先安装一个适配的旧版setuptools:
pip install setuptools==44.0.0
之后再安装指定版本的hachoir-metadata即可。
内容的提问来源于stack exchange,提问作者Sade
相关产品推荐
相关产品推荐

