python使用pip安装一个module时报错:RuntimeError: maximum recursion depth exceeded
安装mysql-python时报错
使用pip安装python
命令为:pip install mysql-python
安装时报错,RuntimeError: maximum recursion depth exceeded
百度了一下出来一系列:
import sys
sys.setrecursionlimit(10000000)
于是我给install.py加了上面的两列,然并卵。
仔细看了一下报错:
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "/root/frrole_backend_raw_dump/envild/MySQL-pythontup.py", line 21, in <module>
setuptools.setup(**metadata)
File "/usrb/python2.7/distutils/core.py", line 112, in setup
_setup_distribution = dist = klass(attrs)
File "build/bdist.linux-x86_64/eggtuptools/dist.py", line 225, in __init__
File "/usrb/python2.7/distutils/dist.py", line 287, in __init__
self.finalize_options()
File "build/bdist.linux-x86_64/eggtuptools/dist.py", line 257, in finalize_options
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2029, in require
self.name = name
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 580, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 825, in best_match
``installer(requirement)``, unless `installer` is None, in which case
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 837, in obtain
def __iadd__(self, other):
File "build/bdist.linux-x86_64/eggtuptools/dist.py", line 272, in fetch_build_egg
File "build/bdist.linux-x86_64/eggtuptools/dist.py", line 225, in __init__
File "/usrb/python2.7/distutils/dist.py", line 287, in __init__
self.finalize_options()
File "build/bdist.linux-x86_64/eggtuptools/dist.py", line 257, in finalize_options
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2029, in require
self.name = name
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 580, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 825, in best_match
``installer(requirement)``, unless `installer` is None, in which case
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 837, in obtain
def __iadd__(self, other):
File "build/bdist.linux-x86_64/eggtuptools/dist.py", line 272, in fetch_build_egg
File "build/bdist.linux-x86_64/eggtuptools/dist.py", line 225, in __init__
File "/usrb/python2.7/distutils/dist.py", line 287, in __init__
self.finalize_options()
File "build/bdist.linux-x86_64/eggtuptools/dist.py", line 257, in finalize_options
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2029, in require
self.name = name
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 580, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 825, in best_match
``installer(requirement)``, unless `installer` is None, in which case
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 837, in obtain
def __iadd__(self, other):
File "build/bdist.linux-x86_64/eggtuptools/dist.py", line 272, in fetch_build_egg
File "build/bdist.linux-x86_64/eggtuptools/dist.py", line 225, in __init__
File "/usrb/python2.7/distutils/dist.py", line 287, in __init__
self.finalize_options()
File "build/bdist.linux-x86_64/eggtuptools/dist.py", line 257, in finalize_options
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2029, in require
self.name = name
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 580, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)
RuntimeError: maximum recursion depth exceeded
报错中主要报错的为dist.py
所以我查看了我distribute的版本,发现是0.6的。
翻墙出去google了一下,发现和我一样问题的人不在少数。按论坛上的方法说更新distribute:
pip install distrabute
然而还是不行,人都快炸了。索性把distribute卸载了:
pip uninstall distribute
重新安装distribute,居然安装成功了。更新后的版本为0.7。
重新安装mysql-python,安装成功。