it-swarm.com.de

Upgrade von python six-Paket in Mac OSX 10.10.2 nicht möglich

Ich versuche, die neueste Version von six python package zu installieren, aber ich habe folgende Probleme. Unter Mac OSX 10.10.2 kann six 1.4.1 nicht beseitigt werden

Sudo pip install six --upgrade
Requirement already up-to-date: six in /Library/Python/2.7/site-packages
Cleaning up...

pip search six
six - Python 2 and 3 compatibility utilities
INSTALLED: 1.9.0 (latest)

python -c "import six; print six.version"
1.4.1

which -a python
/usr/bin/python
which -a pip
/usr/local/bin/pip

Was ist hier falsch? Upgrade von sechs nicht möglich!

21
Anish

Die Standardeinstellung von Mac OS X python ist als Framework installiert. Unter dem Framework-Verzeichnis befindet sich ein Verzeichnis 'Extras' und das Paket six ist bereits dort abgelegt.

/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six.py

Gemäß der Beschreibung ( https://github.com/MacPython/wiki/wiki/Which-Python ) wird /System/Library/Frameworks/Python.framework/Versions/2.7/Extras Vor /Library/Python/2.7/site-packages Im Modulsuchpfad aufgeführt . Dies bedeutet, dass alle Pakete, die bereits in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras Vorhanden sind, nicht aktualisiert werden können.

Vielleicht sollten Sie python manuell installieren und kein Standard-Python verwenden.

11

Ich habe das Problem mit der folgenden Methode gelöst.

  1. Laden Sie das Paket six-1.10.0.tar.gz herunter
  2. Verwenden Sie diesen Befehl, um es zu installieren.

python setup.py install

Dies funktioniert, weil die neue Version von Six unter / Library/Python/2.7/site-packages / installiert wird, die vor / System/Library/Frameworks/Python.framework/Versions/durchsucht wird. 2.7/Extras/lib/python /

24
kellyxiepei

Für mich einfach mit Homebrew alles behoben.

brew install python
16
matt burns

Ihre pip Binärdatei gehört zu /usr/local/bin/python, Während python auf /usr/bin/python Zeigt. Als Konsequenz

pip install --upgrade six

wird auf /usr/local/bin/python installiert.

Der folgende Befehl stellt sicher, dass die richtige Version von pip verwendet wird:

python -m pip install --upgrade six
16
cel

Was für mich funktioniert hat, war easy_install anstelle von pip.

easy_install -U six

Easy_install hat es geschafft, das Paket zu aktualisieren, auch wenn pip fehlgeschlagen ist.

15

Ich bin auf genau dieses Problem gestoßen, als ich den Openstack-Client mit pip installiert habe. Mein Fix war die Verwendung von easy_install anstelle von pip, da für die Modulinstallation /Library/Python/2.7/site-packages/ Anstelle von /System/Library/Frameworks/Python.framework/Versions/2.7/Extras Verwendet wird. Wenn diese Problemumgehung für Sie keine Option ist, kann ich bestätigen, dass @Masakazu Matsushita die richtige Problemumgehung für das Festlegen von PYTHONPATH auf /Library/Python/2.7/site-packages Hat. Fügen Sie diese Zeile hinzu, um diese Problemumgehung zu implementieren:

export PYTHON_PATH=/Library/Python/2.7/site-packages

zu Ihrem ~/.bashrc und ~/.profile (wenn es sich um eine GUI Python Anwendung, die Sie installieren möchten) handelt).

4
user1833042

Probiere mit pip2 seine Arbeit für mich pip2 install -U six

3
Harry1992

Versuchen Sie diese Schritte

  1. Installieren Sie python mit brew neu

    $ brew install python

  2. Fehlendes Symlink-Problem beheben

    $ brew link --overwrite python

  3. System neu starten oder ausführen

    $ hash -r python

3
Shamshad Alam

Während die eine oder andere der oben genannten Lösungen für Sie funktionieren kann, denke ich, ist es wichtig zu verstehen, was los ist und welche Optionen Sie haben. Ich fand this (ziemlich ausführliche) Beschreibung sehr nützlich: Sie beginnt mit der Beschreibung der Optionen und schlägt erst dann Lösungen vor.

1
varepsilon

Am Ende war das Problem für mich, dass ich die IPython-Shell verwendete.

which ipython hat /usr/local/bin/ipython zurückgegeben und diese Datei nach Überprüfung oben #!/usr/bin/python deklariert, was anscheinend alle meine Bemühungen um die Verwendung des richtigen python umgeht. Ort.

Durch einfaches Ändern dieser Zeile #!/usr/local/bin/python, um auf die richtige python - Version zu verweisen, bedeutete dies, dass IPython das richtige six - Modul verwendete.

1
trim