Python虚拟环境下pip安装MySQL-Python导致“RuntimeError: 超出最大递归深度”
我设置了一个虚拟环境,然后尝试通过 pip 安装 MySQL-Python
(在激活环境后)。我的 requirements.txt
文件内容如下:
MySQL-python==1.2.5
argparse==1.2.1
pymongo==2.6.3
wsgiref==0.1.2
当我运行 pip install -r requirement.txt
时,最后一行输出是:
RuntimeError: maximum recursion depth exceeded
正如某个帖子提到的,我甚至运行了这个命令来升级我的 distribute:
easy_install distribute==0.6.28
结果还是不行。我的 Python 版本(在虚拟环境中)是 2.7.6,机器是 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)
1 个回答
4
我也遇到这个问题!
这是我设置的一些说明:
- 使用的是 Ubuntu 13.10
- 通过 apt-get 安装了 Python-MySQLdb 和 libmysqlclient-dev
我还发现了这个,我怀疑这可能是根本原因:
x86_64-linux-gnu-gcc: error: unrecognized command line option ‘-Qunused-arguments’
x86_64-linux-gnu-gcc: error: unrecognized command line option ‘-Qunused-arguments’
编辑:
看起来我在没有设置 CFLAGS 或 CPPFLAGS 环境变量的情况下,仍然会遇到这个问题(MySQL-Python 1.2.4)。1.2.5 对我来说是可以的。