Warum ist nicht die pip-Aktualisierung meiner numpy und scipy?
Mein problem ist, dass pip nicht aktualisiert meine Python-Pakete, auch wenn keine Fehler vorhanden sind.
Ist es ähnlich diese eine, aber ich bin noch jetzt ganz sicher, was zu tun ist. Im Grunde genommen, ALLE meine Pakete für python zu sein scheinen, lächerlich veraltet, auch nach dem Update alles über pip. Hier sind die details:
- Ich bin mit pip, die version 1.5.6.
- Ich bin mit Python, version 2.7.5
- Ich bin auf einem Mac OS x, Version 10.9.5.
Verwenden, die, die ich habe:
- Meine numpy-version ist 1.6.2.
- Meine scipy version 0.11.0.
- Meine matplotlib-version ist 1.1.1.
Selbst wenn ich es versuchen:
sudo pip uninstall numpy
Gefolgt von:
sudo pip install numpy
Beide erfolgreich abgeschlossen, aber wenn ich in python und überprüfen Sie die version von numpy, es ist noch die alte. (Wie alle anderen Pakete).
Nicht sicher, was ist hier Los?... Wie kann dies behoben werden? P. S. ich bin neu hier, also brauche ich explizite Anweisungen. Danke. Auch, wenn jemand will, kann ich ein screenshot der pip, wie es ist installieren numpy.
EDIT:
Befehle, die ich lief, wie pro die Kommentare:
$which -a pip
/usr/local/bin/pip
$ head -1 $(which pip)
#!/usr/bin/python
$ which -a python
/usr/bin/python
python
und Ihre pip
gebunden ist, ist eine andere.Wenn Sie nicht sicher sind, ob Sie installiert eine zusätzliche Python-neben Apple führen Sie die folgenden Befehle ein und zeige uns die Ausgabe:
which -a pip
, head -1 $(which pip)
, which -a python
.Habt Ihr auch Homebrew, MacPorts, Fink oder einem anderen Paket-manager? Wie haben Sie alle prereqs für
matplotlib
und Freunde?Ich benutzte homebrew für alles, außer pip, ich habe über
sudo easy_install pip
.Ich fügte hinzu, die information in der Frage. Wie kann ich og über die Festsetzung dieses Problem? Cheers.
InformationsquelleAutor Spacey | 2014-10-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
In OS X 10.9, Apple Python kommt mit einer Reihe von vorinstallierten Paketen, die in einem Verzeichnis mit dem Namen
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
. Darunternumpy
.Und die Art, wie Sie installiert sind (wie durch die Verwendung
easy_install
mit einer alten pre-0.7 version vonsetuptools
, aber nicht in der normaleneasy_install
Destinationen)pip
weiß nichts über Sie.Also, was passiert, ist, dass
sudo pip install numpy
installiert eine separate Kopie vonnumpy
in'/Library/Python/2.7/site-packages'
—aber in Ihremsys.path
, dieExtras
Verzeichnis kommt, bevor diesite-packages
- Verzeichnis, soimport numpy
finds immer noch von Apple kopieren. Ich bin mir nicht sicher, warum das ist, aber es ist wahrscheinlich nicht etwas, was Sie wollen Affe mit.Also, wie Sie dieses Problem beheben?
Den zwei besten Lösungen sind:
Verwenden
virtualenv
, und installieren Sie Ihrenumpy
und Freunden in einer virtuellen Umgebung statt systemweit. Dies hat den Nachteil, dass Sie haben, um zu lernen, wievirtualenv
—aber das ist es definitiv Wert zu tun an einem gewissen Punkt, und wenn Sie die Zeit haben, es jetzt zu erfahren, gehen Sie für es.Upgrade auf Python 3.x, die entweder von einem python.org installer oder via Homebrew. Python 3.4 oder später kommt mit
pip
, und nicht kommen mit jederpip
-unfreundlich pre-installierte Pakete. Und, anders als die Installation eines separaten 2.7 es nicht stören den Apple-Python;python3
undpython
,pip3
undpip
usw., alle werden separate Programme, und Sie nicht haben, etwas zu lernen, darüber, wie WEG funktioniert oder nicht. Dies hat den Nachteil, dass Sie lernen müssen, Python 3.x, die hat einige wichtige änderungen, also nochmal, ein bisschen eine Lernkurve, aber wieder, auf jeden Fall lohnt sich das irgendwann.Vorausgesetzt, keine von beiden ist möglich, ich denke, die einfachste Möglichkeit ist die Verwendung
easy_install
stattpip
für die Pakete, die Sie installieren möchten neuere Versionen der von Apple "extras". Sie können eine vollständige Liste von denen, indem Sie betrachten, was in/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
. Wenn Sie ein upgradenumpy
Sie wahrscheinlich wollen, um ein upgradescipy
undmatplotlib
; ich denke, alles andere gibt es nicht. (Natürlich können Sie ein upgradePyObjC
oderdateutil
oder irgendetwas anderes, die Sie interessieren gibt es, aber Sie müssen nicht.)Dies ist keine ideale Lösung; es gibt eine Menge Gründe
easy_install
ist schlechter alspip
(z.B., nicht mit einem uninstaller, so dass Sie gehen zu müssen sich zu merken, wo das/Library/blah/blah
Weg ist (oder finden Sie es wieder durch Ausdruck aussys.path
von innen Python). Ich normalerweise nicht empfehleneasy_install
für alles, außerreadline
undpip
selbst (und dann nur mit apples Python). Aber in diesem Fall denke ich, es ist einfacher als die anderen alternativen.Wenn Sie versuchen, verwenden Sie die Python-deren site-packages das ist, Sie verlassen haben können Dinge verbockt, aber wenn das so ist, re-installieren mit NumPy, Python -
pip
beheben sollte (und, auch wenn es nicht, der Fehler wird Ihnen sagen, wie es manuell zu beheben). Wenn Sie versuchen, verwenden Sie ein anderes Python, dann das site-packages eigentlich auch egal, also ist es sicher.InformationsquelleAutor abarnert
Alte Frage, aber ich fand es, wenn Sie versuchen, dieses Problem zu lösen, werde nach meiner Lösung.
Fand ich @abarnert die Diagnose als richtig und hilfreich, aber ich weiß nicht wie irgendeine von den Lösungen: ich möchte wirklich, um das upgrade der Standard-version von numpy. Die Herausforderung ist, dass das Verzeichnis, diese Jungs sind in (@abarnert erwähnt) nicht berührt werden, auch durch
sudo
, wie Sie diese der Gruppe "wheel". In der Tat, wenn Sie dorthin gehen und tunsudo rm -rf blah
, es wird Ihnen ein permission denied-Fehler.Um dies zu umgehen, müssen wir drastische Maßnahmen ergreifen:
csrutil disable
pip2 install --user --upgrade numpy
(und dasselbe gilt für alle anderen Pakete, die dieses problem haben)Hinweis: "csrutil deaktivieren" ist eine ernste Angelegenheit, die destabilisieren kann Ihre Maschine, würde ich es verwenden, nur wenn absolut notwendig, und aktivieren Sie es so bald wie möglich. Aber AFAIK ist es der einzige Weg, um upgrade-Pakete für Python, die in einem Rad-Verzeichnis.
InformationsquelleAutor cag51
Umbenennen der numpy und scipy Versionen von Apple installiert in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/so beginnt es mit den neueren Versionen installiert von Pip.
InformationsquelleAutor Eddie