模块'对象没有属性'PY2
我在使用Ubuntu 14.04的时候,想要安装python-memcache,但遇到了一个错误,错误信息是:
Downloading/unpacking python-memcached
Downloading python-memcached-1.53.tar.gz
Cleaning up...
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 278, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1229, in prepare_files
req_to_install.run_egg_info()
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 292, in run_egg_info
logger.notify('Running setup.py (path:%s) egg_info for package %s' % (self.setup_py, self.name))
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 284, in setup_py
if six.PY2 and isinstance(setup_py, six.text_type):
AttributeError: 'module' object has no attribute 'PY2'
Storing debug log for failure in /home/mani/.pip/pip.log
我在安装Django-celery、pymongo等其他东西时也遇到了同样的错误。
1 个回答
7
这个问题的原因很简单,就是使用了一个非常旧的包版本,叫做 six
,这个旧版本没有 PY2
这个标识。
因为这个包是通过 pip
安装的,所以只需要用下面的命令来升级它:
pip install --upgrade six