Python pip broken after OS X 10.8 upgrade

后端 未结 10 1495
没有蜡笔的小新
没有蜡笔的小新 2020-12-12 19:19

Made the upgrade to Mac OS X 10.8 (Mountain Lion) and get now the following error when trying to call $ pip:

Traceback (most recent call last):
         


        
相关标签:
10条回答
  • 2020-12-12 20:00

    I had a similar error except that sudo pip did not work either. I am using a "brew" installation of python (which is symlinked to /usr/local/bin) and found that the problem was that the shebangs in the pip and easy_install files were hardcoded to #!/usr/bin/python instead of #!/usr/local/bin/python, and so was using the system python version instead of the brew version.

    Cheers, Tom

    0 讨论(0)
  • 2020-12-12 20:02

    I tried all the answers here, from reinstall easy_install to install a new python version, nothing worked for me.

    What I did was install a fresh Python install in the /Library/Frameworks folder, and symlink to that one from /usr/local/bin (for some reason, my system had a symlink from /Library/Frameworks/Python.framework to /System/Frameworks/Python.framework). My idea was to keep the /System/Library/Frameworks files to be used by system commands in /usr/bin, and have /usr/local/bin points to another "user land" install in /Library/Frameworks. In order to do that :

    • rename /System/Library/Framework/Python.framework into _OLD_Python.framework

    • delete every python file in /usr/local/bin (using sudo rm /usr/local/bin/python*) and /usr/local/bin/pip* (but do NOT touch /usr/bin)

    • Reinstall python from the official site (http://www.python.org/getit/) ==> This will reinstall python in /Library/Framework and not /System/Library/Framework

    • Then launch the Applications/Python/Update Shell Profile.command command that will make sure your path is using that one

    • Then recreate the symlinks in /usr/local/bin using

      ln -s ../../Library/Frameworks/Python.framework/Versions/2.7/bin/python python

    • Finaly, rename the _OLD_Python.framework back to Python.framework (because that's the path /usr/bin/python points to)

    Typing "which python" should point to /Library/... and not /System/Library. From there you should be able to reinstall easy_install and pip properly.

    0 讨论(0)
  • 2020-12-12 20:07

    On Mavericks, I found that

    ls -l `which python`
    /usr/local/bin/python -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/python
    

    while pip showed

    ls -l `which pip`
    /usr/local/bin/pip
    

    I renamed the old pip and created a symlink to the proper pip binary, and now all is well. It's probably not the best solution, but it works.

    0 讨论(0)
  • 2020-12-12 20:07

    I usually had same issue with some project referencing bonjour-py in their requirements.txt, didn't know which or how to track that one at the moment.

    And someone told me that pip-tool. It's actually a great alternative to identify which you have, and if you want to update them. And as a bonus it ignored well the bonjour-py error.

    0 讨论(0)
  • 2020-12-12 20:09

    I actually couldn't do what was suggested. I instead had to execute:

    xcode-select --install
    

    Then I was able to install the ldap module.

    0 讨论(0)
  • 2020-12-12 20:10

    Rather than change ownership, it is possible to simply change permissions:

    $ sudo chmod -R o+rX /Library/Python/2.7/site.packages

    0 讨论(0)
提交回复
热议问题