Python virtualenv pip安装MySQL-Python导致"RuntimeError:超出最大递归深度"

Vai*_*hek 7 python pip virtualenv mysql-python

我设置了virtualenv,然后尝试MySQL-Python使用pip(after activating env)进行安装.我requirements.txt的如下:

MySQL-python==1.2.5
argparse==1.2.1
pymongo==2.6.3
wsgiref==0.1.2
Run Code Online (Sandbox Code Playgroud)

当我运行pip install -r requirement.txt.我得到一些输出的最后一行是:

RuntimeError: maximum recursion depth exceeded
Run Code Online (Sandbox Code Playgroud)

正如帖子中提到的,我甚至运行此命令来升级我的发行版:

easy_install distribute==0.6.28
Run Code Online (Sandbox Code Playgroud)

即使这样也行不通.我的python版本(在env中)是2.7.6,而Machine是Ubuntu 14.04


更新:堆栈跟踪如下:

Downloading/unpacking MySQL-python==1.2.5 (from -r requirements.txt (line 1))
  Running setup.py (path:/root/frrole_backend_raw_dump/env/build/MySQL-python/setup.py) egg_info for package MySQL-python
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "/root/frrole_backend_raw_dump/env/build/MySQL-python/setup.py", line 21, in <module>
        setuptools.setup(**metadata)
      File "/usr/lib/python2.7/distutils/core.py", line 112, in setup
        _setup_distribution = dist = klass(attrs)
      File "build/bdist.linux-x86_64/egg/setuptools/dist.py", line 225, in __init__
      File "/usr/lib/python2.7/distutils/dist.py", line 287, in __init__
        self.finalize_options()
      File "build/bdist.linux-x86_64/egg/setuptools/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/egg/setuptools/dist.py", line 272, in fetch_build_egg
      File "build/bdist.linux-x86_64/egg/setuptools/dist.py", line 225, in __init__
      File "/usr/lib/python2.7/distutils/dist.py", line 287, in __init__
        self.finalize_options()
      File "build/bdist.linux-x86_64/egg/setuptools/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/egg/setuptools/dist.py", line 272, in fetch_build_egg
      File "build/bdist.linux-x86_64/egg/setuptools/dist.py", line 225, in __init__
      File "/usr/lib/python2.7/distutils/dist.py", line 287, in __init__
        self.finalize_options()
      File "build/bdist.linux-x86_64/egg/setuptools/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/egg/setuptools/dist.py", line 272, in fetch_build_egg
      File "build/bdist.linux-x86_64/egg/setuptools/dist.py", line 225, in __init__
      File "/usr/lib/python2.7/distutils/dist.py", line 287, in __init__
        self.finalize_options()
      File "build/bdist.linux-x86_64/egg/setuptools/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)
Run Code Online (Sandbox Code Playgroud)

pno*_*nak 4

也得到这个!

\n\n

我的设置中的一些注释:

\n\n
    \n
  • Ubuntu 13.10\n\n
      \n
    • Python-MySQLdb 和 libmysqlclient-dev 均通过 apt-get 安装
    • \n
  • \n
\n\n

我也看到了这一点,我怀疑这是根本原因:

\n\n
x86_64-linux-gnu-gcc: error: unrecognized command line option \xe2\x80\x98-Qunused-arguments\xe2\x80\x99\nx86_64-linux-gnu-gcc: error: unrecognized command line option \xe2\x80\x98-Qunused-arguments\xe2\x80\x99\n
Run Code Online (Sandbox Code Playgroud)\n\n

编辑:

\n\n

看起来我仍然得到这个(MySQL-Python 1.2.4),没有设置 CFLAGS 或 CPPFLAGS 环境变量。1.2.5 对我有用

\n