16

I installed Cygwin with Python set-up tools. When I try to run pip install awscli I get the following error:

$ 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'

Am I missing something in my path or is my Python implementation hosed?

georgebrock
  • 28,393
  • 13
  • 77
  • 72
user2344442
  • 301
  • 1
  • 3
  • 8

6 Answers6

17

Do you have a folder called "/platform" inside your python app?

If you do, it will scope-shadow the native python "platform" module. When modules you're using try to get information about the system, they'll get a null object back. This will often cause errors like:

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

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

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

Simply rename the "/platform" folder to something else to resolve the problem.

foxly
  • 171
  • 1
  • 2
7

Re-installing pip might fix it, try it using easy_install:

sudo easy_install pip

Forge
  • 6,538
  • 6
  • 44
  • 64
4

Do you have a folder called "/platform" inside your python app? GOT THE POINT! I remove my own platform.py, it still not work. later i remove the remained platform.pyc ,it worked!

  • 1
    So, are you recommending they remove platform.pyc? – winhowes Feb 27 '15 at 02:01
  • yes, when running ”import platform“, it first of all find platform.pyc, if exists, it will run directly. if not, it will compile and generate platform.pyc and then run it. so if you don't want to overwrite python's platform.py you should clear all of them. – qingyang yu Apr 10 '15 at 03:07
1

Similar to what others have posted, I got the same error from having a platform.py file (rather than directory). I renamed it and the error went.

wobbily_col
  • 11,390
  • 12
  • 62
  • 86
0

I got this error when my .virtualenvs folder for a linux (fedora) system was symlinked to a Network shared drive (on a Windows server). Upgrading the system pip

sudo pip install --upgrade pip

And then creating a new ~/.virtualenvs/ locally with a fresh virtualenv did the trick for me.

hobs
  • 18,473
  • 10
  • 83
  • 106
0

I'll add another name to the list: I had a script named profile.py in the startup directory that was causing the same problem.

Strangely enough, I thought I might have had a file called platform.py in the directory. I use Python in the manufacture of turbine blades, which have features we call 'platforms'. They also have a 'profile' (the airfoil leading edge profile, to be exact), and when I saw profile.py a light bulb went off, as I was aware of Python's 'profile' module from the Standard Library.

Funny how this never came up before - I've been using IPython since ~Python2.7.9, and there wasn't even a problem back in the 3.6 days (I'm upgrading to 3.8.6).

subnivean
  • 1,132
  • 11
  • 19