setuptools(pkg_resources)报错:本地安装Python RPM时参数不匹配
解决
python setup.py install --user 出现的 TypeError 问题 嘿,这个问题我之前维护老Python 2.7项目的时候碰到过!本质是setuptools和它依赖的pkg_resources版本不兼容导致的,给你几个靠谱的解决步骤:
步骤1:升级到Python 2.7兼容的稳定版本
Python 2.7已经停止维护,所以得用专门支持它的最后一批setuptools版本,执行以下命令升级:
pip install --user setuptools==44.1.1 pkg_resources==0.0.0
注:pkg_resources是setuptools的内置组件,指定0.0.0会自动匹配对应兼容版本,44.1.1是支持Python 2.7的最后一个稳定setuptools版本
步骤2:清理损坏的缓存文件
之前的错误可能留下了损坏的编译缓存,先删掉它们避免干扰:
rm -rf ~/.local/lib/python2.7/site-packages/easy_install.pyc rm -rf ~/.local/lib/python2.7/site-packages/setuptools*.egg-info
步骤3:重新执行安装命令
现在再尝试安装你的本地包:
python setup.py install --user
为什么会出现这个错误?
老版本的setuptools中,
pkg_resources.Requirement.__init__的参数签名和新版本不匹配。当你执行setup.py install时,easy_install模块会调用这个类,但如果setuptools和pkg_resources版本对不上,就会触发“参数数量不匹配”的TypeError。
内容的提问来源于stack exchange,提问作者leas
相关产品推荐
相关产品推荐

