AttributeError: 'module'对象没有'python_implementation'属性,运行pip时出现

17 投票
6 回答
18432 浏览
提问于 2025-04-17 22:32

我安装了Cygwin,并且设置了Python的工具。当我尝试运行命令 pip install awscli 时,出现了以下错误:

$ pip install awscli
Traceback (most recent call last):
  File "/usr/bin/pip", line 8, in <module>
    load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
  File "build/bdist.linux-i686/egg/pkg_resources.py", line 318, in load_entry_point
  File "build/bdist.linux-i686/egg/pkg_resources.py", line 2221, in load_entry_point
  File "build/bdist.linux-i686/egg/pkg_resources.py", line 1954, in load
  File "/usr/lib/python2.5/site-packages/pip-1.5.4-py2.5.egg/pip/__init__.py", line 9, in <module>
    from pip.log import logger
  File "/usr/lib/python2.5/site-packages/pip-1.5.4-py2.5.egg/pip/log.py", line 9, in <module>
    from pip._vendor import colorama, pkg_resources
  File "/usr/lib/python2.5/site-packages/pip-1.5.4-py2.5.egg/pip/_vendor/pkg_resources.py", line 1112, in <module>
    class MarkerEvaluation(object):
  File "/usr/lib/python2.5/site-packages/pip-1.5.4-py2.5.egg/pip/_vendor/pkg_resources.py", line 1120, in MarkerEvaluation
    'python_implementation': platform.python_implementation,
AttributeError: 'module' object has no attribute 'python_implementation'

我是不是在路径设置上漏掉了什么,还是我的Python安装出了问题?

6 个回答

0

我在Linux(Fedora)系统中遇到了这个错误,因为我的.virtualenvs文件夹是链接到一个网络共享驱动器(在Windows服务器上)。我升级了系统的pip。

sudo pip install --upgrade pip

然后我在本地创建了一个新的~/.virtualenvs/,并用一个新的虚拟环境解决了这个问题。

1

和其他人说的一样,我也遇到了同样的错误,是因为我有一个叫 platform.py 的文件(而不是一个文件夹)。我把它改了个名字,错误就消失了。

4

你的Python应用里有没有一个叫做“/platform”的文件夹?明白了吗!我把自己写的platform.py删掉了,还是不行。后来我又把剩下的platform.pyc文件也删掉了,这下就好了!

7

重新安装 pip 可能会解决这个问题,可以试试用 easy_install 来安装:

sudo easy_install pip

18

你的Python应用里有一个叫“/platform”的文件夹吗?

如果有的话,这个文件夹会覆盖掉Python自带的“platform”模块。当你使用的模块想要获取系统信息时,它们会得到一个空的对象,这样就会出现一些错误,比如:

AttributeError: 'module' object has no attribute 'version'

AttributeError: 'module' object has no attribute 'machine'

AttributeError: 'module' object has no attribute 'python_implementation'

只需要把“/platform”文件夹改个名字,就能解决这个问题。

撰写回答