Ich habe Probleme mit Python, iPython und den Bibliotheken. Die folgenden Punkte zeigen die Kette der Problematik. Ich verwende Python 2.7 auf Mac Lion.
- iPython liest nicht die Bibliotheken von scipy, matplotlib, aber es liest numpy.
- Um dies zu beheben, habe ich versucht, die Quellcode-Version von Python zu installieren, und es gab mir nur mehr Probleme, da ich jetzt zwei verschiedene Versionen habe: 2.7.1 und 2.7.2
- Ich habe festgestellt, dass Python ausgeführt wird, Version 2.7.2 verwendet und scipy, matplotlib und numpy importiert, aber auf iPython ist die Version 2.7.1, die scipy oder matplotlib nicht öffnet.
Ich habe verschiedene Dinge ausprobiert, die mir in anderen Blogposts begegnet sind. Aber keiner von ihnen hat geholfen, und leider weiß ich auch nicht genau, was ich mit einigen von ihnen mache. Zum Beispiel: Ich habe versucht, ipython mit easy_install und pip zu deinstallieren und neu zu installieren. Ich habe auch versucht, alles über Homebrew neu zu installieren und den Pfad .bash_profile zu ändern.
ipython
Skript ist an die spezifische Python-Version gebunden, mit der es installiert wurde. Es wechselt nicht automatisch zu der zuletzt installierten Version. Wenn Sie zuerst 2.7.1, dann IPython und dann 2.7.2 von der Quelle installiert haben, verwendet Ihr IPython weiterhin 2.7.1. Sie müssen entweder Ihr gesamtes Dreschen rückgängig machen, zu Ihrer ursprünglichen Python-Version zurückkehren und herausfinden, was der Grund für Punkt 1 war. Alternativ können Sie IPython mit der Python-Installation neu installieren, um auf die benötigten Bibliotheken zugreifen zu können.ipython
ausführbaren Datei wird auf Ihrem PATH platziert. Wenn Sie dann Python 2.7.2 von der Quelle installieren, handelt es sich um eine neue, separate Kopie von Python, die die vorhandene Version 2.7.1 mit IPython nicht aktualisiert. IPython sieht also weder die 2.7.2-Kopie noch Bibliotheken darin.Antworten:
Okay, schnelle Lösung:
gibt dir
/usr/bin/python
, richtig? Machenund ich wette das wird sein
/usr/local/bin/ipython
. Schauen wir mal rein:Edit 9/7/16 - Die Datei sieht jetzt so aus:
Und meine funktioniert so richtig, aber meine Situation ist nicht genau wie die der OPs.
Ursprüngliche Antwort - 30.09.13:
Aha - öffne
/usr/local/bin/ipython
in deinem Editor (mit Berechtigungen) und ändere die erste Zeile inSpeichern, iPython starten, sollte sagen, dass es die gewünschte Version verwendet.
quelle
python -m IPython
ist dies gleichbedeutend mit deripython
Erwartung, dass Sie sicher das richtige Python verwenden.Posting @ Matts Kommentar als Antwort, nur damit er besser sichtbar ist
Lädt ipython als Modul mit dem Python, auf das zuerst im Pfad zugegriffen werden kann. In meinem Fall hatte ich eine vorinstalliert und eine, die ich von Brew hinzugefügt habe. Das funktioniert einfach perfekt.
quelle
Was ist mit einer virtuellen Umgebung? Ich mag es wirklich. Vielleicht ist es nicht der schnellere Weg, aber ich denke, es ist sehr klar.
Wenn Sie eine virtuelle Umgebung erstellen, können Sie den Python-Pfad mit dem Flag -p angeben.
für Python 2.7
für Python 3.4
quelle
python -m IPython
wird ipython mit der gegebenen Version vonpython
python -m IPython
dass dies installiert werden muss:pip install ipython
Zuerst würde ich sicherstellen, dass Sie die richtige Python verwenden. Geben Sie an einer Eingabeaufforderung Folgendes ein:
Der erste zeigt Ihnen den Pfad, der zweite die Python-Version, die Sie verwenden.
quelle
Meine Lösung ist einfach, dumm, aber funktioniert.
Ich benutze
python -V
, um sicherzustellen, welche Version istund machen Sie dann einen Alias in .bash_profile
Fügen Sie eine Zeile hinzu
dann bekommst du eine
ipython
in python 2.7. 🙂(Übrigens, meine
ipython
Installation erfolgt überhomebrew
, es wird standardmäßig eine Python in Python 3 ausgeführt.)quelle
äußerst relevant: http://conda.pydata.org/docs/troubleshooting.html#shell-command-location .
td; lr Probleme treten aufgrund von Shell-Hashing- und Pfadvariablen auf.
quelle
which python
sollten auf die virtuelle Python-Binärdatei verweisen.hash -r
reparierte es für mich; Vielen Dank!Eine ähnliche Methode mit Pyenv
Jetzt wird die korrekte Version von Python angezeigt
quelle
Die absolut einfachste Lösung, die ich mir vorstellen kann und die kein Herumspielen mit Umgebungen, installierten Dateien oder irgendetwas anderem erfordert, beruht auf den Fakten, die
ipython
ist eigentlich ein Python-Skript.pip intall
.Wenn in der Python-Version, mit der Sie ausgeführt werden, ein IPython-Paket installiert ist, können Sie dies einfach tun
Dadurch wird das
ipython
Skript mit dem gewünschten Interpreter anstelle des im Shebang aufgeführten ausgeführt.quelle
ipython
in meine Shell automatisch den benutzerdefinierten Interpreter anstelle der Standardeinstellung?Ihr Problem besteht im Wesentlichen darin, dass ipython die richtige Python verwendet.
Die Lösung des Problems besteht darin, ipython dazu zu bringen, das richtige Python zu verwenden (auf dem Bibliotheken wie scipy installiert sind).
Ich habe hier eine Lösung geschrieben:
Wie man iPython dazu bringt, Python 2 anstelle von Python 3 zu verwenden
quelle
Ich bin auf dasselbe Problem gestoßen, aber das Folgende war die einzige Lösung, die unter OSX 12, Sierra, für mich funktioniert hat.
ipython wurde immer für Python 3.6 gestartet, aber ich brauchte es für 2.7. Ich konnte weder ein Ipython-Startskript für 2.7 noch das IPython-Modul finden, mit dem ich ausgeführt werden kann
python -m
. Keiner vonbrew instally ipython
pip install ipython
oderpip2 install ipython
konnte mir die 2.7 Version besorgen. Also habe ich es manuell bekommen.brew install ipython@5
Installiert die Version 2.7 von hier aus , wird sie jedoch nicht auf Ihre Version übertragen,$PATH
da der Name mit einem anderen Paket in Konflikt steht.ln -s /usr/local/Cellar/ipython@5/5.5.0_1/bin/ipython /usr/local/bin/ipython2
wird dies beheben und Sie einfach laufen lassenipython2
von Ihrer Shell-EingabeaufforderungDa ich es ernst meinte, ipython für 2.7 zu verwenden, habe ich auch die folgenden Befehle ausgeführt.
quelle
Alle hier genannten Antworten helfen nicht bei der Lösung des Problems, wenn Sie Anaconda oder einen anderen Wrapper für virtuelle Umgebungen verwenden.
Diese Antwort basiert auf der Annahme, dass Sie Anaconda verwenden.
Angenommen, Sie befinden sich in einer Python 3-Umgebung und beim Erstellen eines Notizbuchs auf einem Jupyter-Notizbuch wird "Python 2" anstelle von "Python 3" angezeigt.
Dies liegt daran, dass "ipython" im Wesentlichen ein Skript ist, das ausgeführt wird, und in diesem Skript erwähnt wird, welche Python-Version zum Ausführen des Befehls verwendet wird. Sie müssen lediglich diese Zeile ändern, damit ipython die gewünschte Python-Version verwendet.
Stoppen Sie zuerst den ipython-Server und ermitteln Sie den Speicherort der ausführbaren Python-Datei der aktuellen Umgebung mit dem Befehl "which python".
Meine Ausgabe ist:
Holen Sie sich nun den ausführbaren Speicherort von ipython und verwenden Sie den Befehl "which ipython".
meins ist :
Beachten Sie, dass eine andere Version von Python verwendet wird, z. Python aus einer bestimmten Umgebung, in der eine andere Version von Python ausgeführt wird, dh Python aus einer anderen Umgebung.
Navigieren Sie nun zum Verzeichnis anaconda2 / bin (für Anaconda 3-Benutzer sollte es anaconda3 / bin sein) und suchen Sie nach der Datei "ipython". In dieser Bearbeitung verweisen Sie in der ersten Zeile auf die aktuelle Python-Version, die Sie möchten. dh die Ausgabe von "welche Python" dh:
Beachten Sie, dass ich meine Python-Umgebung von py2 (mit Python 2.7) auf py3 (mit Python 3.5) geändert habe.
Speicher die Datei. Und führen Sie jupyter notebook aus. Wenn Sie jetzt ein neues Notebook erstellen, sollte die Option "Python 3" sichtbar sein.
Prost!
quelle