模块'对象没有属性'PY2

6 投票
1 回答
8150 浏览
提问于 2025-04-18 08:51

我在使用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

撰写回答