Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

pip install --upgrade sqlalchemy gives maximum recursion depth exceeded

I've tried pip install --upgrade sqlalchemy, python2.7 setup.py install, and after deleting the sqlalchemy folder in site-packages, I've tried pip install sqlalchemy. They all give "RuntimeError: maximum recursion depth exceeded in cmp".

  File "C:\Python27\lib\ntpath.py", line 200, in splitext
return genericpath._splitext(p, sep, altsep, extsep)
  File "C:\Python27\lib\genericpath.py", line 102, in _splitext
    sepIndex = max(sepIndex, altsepIndex)
RuntimeError: maximum recursion depth exceeded in cmp

I have also tried to run the setup.py for v0.9 and get the same result. Tried adding a line to setup.py to set max recursion to 10000 and python crashes.

Edit: The traceback is a long repetition of this:

 File "c:\python27\lib\site-packages\distribute-0.6.28-py2.7.egg\setuptools\dist.py", line 225, in __init__
    _Distribution.__init__(self,attrs)
  File "c:\python27\lib\distutils\dist.py", line 287, in __init__
    self.finalize_options()
  File "c:\python27\lib\site-packages\distribute-0.6.28-py2.7.egg\setuptools\dist.py", line 257, in finalize_options
    ep.require(installer=self.fetch_build_egg)
  File "c:\python27\lib\site-packages\distribute-0.6.28-py2.7.egg\pkg_resources.py", line 2029, in require
    working_set.resolve(self.dist.requires(self.extras),env,installer))
  File "c:\python27\lib\site-packages\distribute-0.6.28-py2.7.egg\pkg_resources.py", line 580, in resolve
    dist = best[req.key] = env.best_match(req, self, installer)
  File "c:\python27\lib\site-packages\distribute-0.6.28-py2.7.egg\pkg_resources.py", line 825, in best_match
    return self.obtain(req, installer) # try and download/install
  File "c:\python27\lib\site-packages\distribute-0.6.28-py2.7.egg\pkg_resources.py", line 837, in obtain
    return installer(requirement)
  File "c:\python27\lib\site-packages\distribute-0.6.28-py2.7.egg\setuptools\dist.py", line 272, in fetch_build_egg
    dist = self.__class__({'script_args':['easy_install']})
{repeat until max recursion}
like image 719
FacesOfMu Avatar asked Jul 07 '15 15:07

FacesOfMu


People also ask

How do you fix maximum recursion depth exceeded?

The maximum recursion depth in Python is 1000. You can change the limit by calling sys. setrecursionlimit() method.

Can I PIP install SQLAlchemy?

Any version of Python higher than 2.7 is necessary to install SQLAlchemy. The easiest way to install is by using Python Package Manager, pip. This utility is bundled with standard distribution of Python.

How do I remove a recursion error in Python?

Try increasing the recursion limit ( sys. setrecursionlimit ) or re-writing your code without recursion. Return the current value of the recursion limit, the maximum depth of the Python interpreter stack. This limit prevents infinite recursion from causing an overflow of the C stack and crashing Python.

How do you set a recursion limit in Python?

The Python interpreter limits the recursion limit so that infinite recursions are avoided. The “sys” module in Python provides a function called setrecursionlimit() to modify the recursion limit in Python. It takes one parameter, the value of the new recursion limit. By default, this value is usually 10^3.


1 Answers

Looks like my "distribute" (v0.6xxx) was out of date. I ran

pip install --upgrade distribute 

and it installed 0.7.3.

Then ran pip install sqlalchemy and it installed.

Same problem encountered installing other packages.

like image 84
FacesOfMu Avatar answered Nov 14 '22 21:11

FacesOfMu