Wie führe ich Spyder in einer virtuellen Umgebung aus?

97

Ich habe Spyder mit der Anaconda-Distribution installiert, die standardmäßig Python 2.7 verwendet. Derzeit muss ich eine virtuelle Entwicklungsumgebung mit Python 3.4 einrichten.

Die beiden wichtigsten Vorschläge nach Online-Recherchen sind:

  1. zuerst die virtuelle Umgebung einzurichten und die Einstellungen von Spyder zu ändern, z. B. hier ;
  2. alle Spyder-Abhängigkeiten wie PyQt4 in der virtuellen Umgebung selbst zu installieren, z. B. hier ;

Beide Empfehlungen sind umständlich und sehen nicht nach intelligenten Entwicklungsoptionen aus.

Gibt es eine Lösung, mit der Spyder nach Aktivierung der erforderlichen virtuellen Umgebung automatisch mit der erforderlichen Python-Version ausgeführt werden kann?

Tomaskazemekas
quelle

Antworten:

108

Hier ist eine schnelle Möglichkeit, dies im Jahr 2020 zu tun. Verwenden des Anaconda Navigators:

  1. Öffnen Sie Anaconda Navigator
  2. Erstellen Sie Ihre neue Umgebung nach Ihren Wünschen. Ich habe diese Umgebung "Test" genannt. Klicken Sie darauf, um es zu aktivieren.

Geben Sie hier die Bildbeschreibung ein

  1. Gehen Sie zu "Home" und klicken Sie unter "Spyder" auf "Installieren".

Geben Sie hier die Bildbeschreibung ein

  1. Klicken Sie auf "Starten / Ausführen".

Es gibt immer noch einige kleinere Fehler beim Einrichten Ihrer Umgebung (die meisten werden durch einen Neustart des Navigators behoben). Wenn Sie einen Fehler finden, veröffentlichen Sie ihn bitte im Anaconda Issues Bug-Tracker. Vielen Dank.


Wenn dies auch dann nicht funktioniert, kann Navigator dennoch nützlich sein. Wenn Sie auf> Umgebung klicken, gelangen Sie zu einem Verwaltungsfenster für die Module, die in einer solchen Umgebung installiert sind. Suchen und wählen Sie die Spyder-bezogenen Module aus, und klicken Sie dann auf Übernehmen, um sie zu installieren ihre Abhängigkeiten.

Geben Sie hier die Bildbeschreibung ein

adelriosantiago
quelle
11
Dies sollte nach Möglichkeit zur Top-Lösung hinzugefügt werden
dward4
Dies ist eine wirklich gute Lösung, wenn Sie nicht mit der Befehlszeile herumspielen möchten.
Miguel
2
Viel, viel besser.
Eric Auld
2
Ja. Es scheint, als müsste für jede VE eine andere Instanz von Spyder installiert werden.
Mikhail Genkin
2
Kann ich das über die Kommandozeile tun? Das Ausführen von Navigator jedes Mal scheint eine
Belastung zu sein
102

Es gibt eine Option zum Erstellen virtueller Umgebungen in Anaconda mit der erforderlichen Python-Version.

conda create -n myenv python=3.4

So aktivieren Sie es:

source activate myenv   # (in linux, you can use . as a shortcut for "source")
activate myenv          # (in windows - note that you should be in your c:\anaconda2 directory)

UPDATE . Ich habe es mit Ubuntu 18.04 getestet. Jetzt müssen Sie mit diesem Befehl zusätzlich spyder für die neue Umgebung installieren (nach der Aktivierung der Umgebung mit dem obigen Befehl):

conda install spyder

(Ich habe die Installation auch mit pip getestet, aber für Python 3.4 oder ältere Versionen bricht sie mit dem Fehler der Bibliotheksabhängigkeiten ab, der eine manuelle Installation erfordert.)

Und um Spyder mit Python 3.4 auszuführen, geben Sie einfach Folgendes ein:

spyder

Spyder mit Python 3.4

Tomaskazemekas
quelle
6
Ich habe dies unter Windows 7 getestet und es hat funktioniert. Sie müssen am Anfang nicht das Wort "Quelle" hinzufügen, um die Umgebung zu aktivieren. Um Python 2.7 zu haben, ändern Sie die Einstellung in Python = 2.7.
Tomaskazemekas
4
Oh, vielleicht müssen Sie zuerst Spyder in dieser Umgebung installieren? Ich habe die Umgebung mit Numpy anstelle von Anaconda erstellt. Vielleicht läuft Spyder in der Hauptumgebung?
Endolith
4
das scheint das Problem zu sein. Das gleiche gilt für ipython, wurde jedoch nach der Installation in der Umgebung behoben
Endolith
9
Ich fand auch heraus, dass unter Windows (10) beim Starten von Spyder aus einer Anaconda-Umgebung immer noch Spyder mit meinem Standard-Python gestartet wurde und ich Spyder zunächst in der Anaconda-Umgebung installieren musste, um Spyder mit dem Python dieser Umgebung zu öffnen.
Max Power
9
conda install -n myenv spyder
Stellen
57

Zusätzlich zu Tomaskazemekas 'Antwort: Sie sollten Spyder in dieser virtuellen Umgebung installieren, indem Sie:

conda install -n myenv spyder

(Unter Windows, Linux oder MacOS können Sie nach ähnlichen Befehlen suchen.)

Tin Luu
quelle
2
Spyder wird normalerweise als Teil der Anconda Python- Paketliste installiert . Eine zusätzliche Installation ist möglicherweise nur bei Miniconda erforderlich.
Tomaskazemekas
1
Ja, das ist richtig. In meinem Fall hatte ich meine virtuelle Umgebung zuvor installiert, und es ist eine Light-Version, ich installiere nur sehr notwendige Pakete. Ich denke, es ist jemand in meiner Situation.
Tin Luu
@ Tomaskazemekas Sir, ich habe Miniconda3 installiert :) Wie kann ich meinen Python-Code in Spyder ausführen, da ich nicht weiß, wie Spyder ausgeführt wird? Wenn ich "spyder" in die Miniconda-Eingabeaufforderung "konnte diesen Befehl nicht erkennen" tippe, wird ein Fehler generiert.
Noman Marwat
@Noman marwat Da Spyder nicht Teil von Miniconda ist, müssen Sie es installieren, bevor Sie mit Befehl ausgeführt werden conda install spyder.
Tomaskazemekas
Suchen Sie danach nach dem Symlink im myenv/binVerzeichnis und kopieren Sie ihn in den ApplicationsOrdner, damit Sie ihn leicht finden und Spyder in seiner Umgebung starten können, ohne ein kleines schwarzes Fenster eingeben zu müssen! (Sie können auch einfach ein Symbol hinzufügen, wenn Sie sich für Symbole
interessieren.
48

Was hat bei mir funktioniert:

  1. Führen Sie Spyder aus der Umgebung aus (nachdem die Quelle aktiviert wurde).
  2. Gehen Sie zu Extras -> Einstellungen -> Python-Interpreter und wählen Sie die Python-Datei aus der Umgebung aus, die Sie mit Beispiel verknüpfen möchten spyder : / home / you / anaconda3 / envs / your_env / bin / python

Arbeitete an Ubuntu 16, Spyder3, Python3.6.

Boussad
quelle
Nachdem wir den Rest dieser und anderer Beiträge ausprobiert hatten (zwei Tage lang versucht!), War dies die einzige funktionierende Lösung, um die richtige Umgebung in Spider einzustellen.
Antonio Canepa
Benötigen Sie nicht Schritt (1), da Schritt (2) den Interpreter bereits an die Umgebung weitergeleitet hat.
Feras
2
@Feras Für zukünftige Leser: Ich dachte auch, Schritt 1 sei überflüssig. Das Weglassen führt jedoch zu allerlei verrückten Fehlern (und sogar dazu, dass die Benutzeroberfläche fehlerhaft wird und Spyder nicht mehr reagiert).
Cheekybanana
16

Zu tun , ohne spyder Neuinstallation in allen Umgebungen offizielle Referenz folgen hier .

Zusammenfassend (getestet mit conda):

  • Spyder sollte in der Basisumgebung installiert werden

Von der Systemaufforderung:

  • Erstellen Sie eine neue Umgebung. Beachten Sie, dass sich der Umgebungsordner je nachdem, wie Sie ihn erstellen (conda, virtualenv), an einer anderen Stelle auf Ihrem System befindet.

  • Aktivieren Sie die Umgebung (z. B. conda activate [yourEnvName])

  • Installieren Sie Spyder-Kernel in der Umgebung (z. B. conda install spyder-kernels)

  • Suchen und kopieren Sie den Pfad für die ausführbare Python-Datei in der Umgebung. Das Finden dieses Pfads kann über die Eingabeaufforderung dieses Befehls erfolgenpython -c "import sys; print(sys.executable)"

  • Deaktivieren Sie die Umgebung (dh kehren Sie zur Basis zurück conda deactivate)

  • Führen Sie spyder ( spyder3) aus

  • Gehen Sie schließlich im Menü des Spyder-Tools zu Einstellungen> Python-Interpreter> Verwenden Sie den folgenden Interpreter und fügen Sie den ausführbaren Pfad der Umgebungs-Python ein

  • Starten Sie die ipython-Konsole neu

PS: In Spyder sollten Sie unten so etwas sehenGeben Sie hier die Bildbeschreibung ein

Voila

Alexis
quelle
Dies ist die einzig vernünftige Antwort.
sjsam
Beachten Sie, dass bei Verwendung von virtualenv & spyder 4.1.3 unter dem Strich nichts bestätigt wird (alles hat jedoch wie beabsichtigt funktioniert)
Alexis
Das ist die richtige Antwort! Darüber hinaus kann die Spyder-Installation in jeder virtuellen Umgebung erfolgen. Es muss sich nicht in einer Basisumgebung befinden.
Sanchit
1
Sie haben Recht @Sanchit Sie können Spyder in jeder Umgebung "pip / conda" installieren und dann von dort aus aufrufen. Wenn Sie jedoch nur eine Installation wünschen, ist dies die Lösung
Alexis
10

Die obigen Antworten sind korrekt, aber ich rufe spyderinnerhalb meiner virtuellen Umgebung PATHauf, um die Version von Spyder in meiner Standard-Anaconda- Umgebung nachzuschlagen . Ich habe diese Antwort gefunden , die die folgende Problemumgehung ergab:

source activate my_env            # activate your target env with spyder installed
conda info -e                     # look up the directory of your conda env
find /path/to/my/env -name spyder # search for the spyder executable in your env
/path/to/my/env/then/to/spyder    # run that executable directly

Ich habe mich dafür entschieden PATH, einen Link zur ausführbaren Datei mit höherer Priorität zu ändern oder hinzuzufügen, PATHda ich der Meinung war, dass dies weniger wahrscheinlich ist, dass andere Programme beschädigt werden. Ich habe der ausführbaren Datei in jedoch einen Alias ​​hinzugefügt ~/.bash_aliases.

Steven Kalt
quelle
8

Ich hatte gerade das gleiche Problem beim Versuch, Spyder in der virtuellen Umgebung zum Laufen zu bringen.

Die Lösung ist einfach:

Aktivieren Sie Ihre virtuelle Umgebung.

Installieren Sie anschließend Spyder und seine Abhängigkeiten (PyQt5) in Ihrer virtuellen Umgebung.

Starten Sie dann Spyder3 über die CLI Ihrer virtuellen Umgebung.

Es funktioniert jetzt gut für mich.

Jerusalem Programmierer
quelle
1
Dies funktioniert nicht mehr mit Python2 unter Ubuntu 16. Irgendwelche Ideen für eine Umgehung?
Masad
Python 2 ist veraltet. Es wird empfohlen und empfohlen, sich auf Python 3 zu aktualisieren.
Jerusalem Programmer
4

Unter Windows:

Sie können eine Verknüpfung erstellen, die ausgeführt wird

Anaconda3\pythonw.exe Anaconda3\cwp.py Anaconda3\envs\<your_env> Anaconda3\envs\<your env>\pythonw.exe Anaconda3\envs\<your_env>\Scripts\spyder-script.py

Wenn Sie jedoch Spyder von Ihrem Venv in der Anaconda-Shell aus gestartet haben, wird diese Verknüpfung meiner Meinung nach für Sie erstellt (suchen Sie einfach unter Windows nach "Spyder").

Smoothware
quelle
1

Ich folge einem der obigen Ratschläge und tatsächlich funktioniert es. Zusammenfassend kann Ihnen das Herunterladen von Anaconda unter Ubuntu anhand der oben angegebenen Hinweise beim Erstellen von Umgebungen helfen . Die Standardeinstellung beim Herunterladen von Spyder ist in meinem Fall: (base) smith @ ubuntu ~ $ . Nachdem Sie die Umgebung erstellt haben, dh Fenics und aktivieren Sie sie mit $ conda enable fenics, und wechseln Sie sofort zu (fenics) smith @ ubuntu ~ $ . Dann starten Sie Spyder über diese Eingabeaufforderung, dh $ spyderund Ihr System öffnet die Spyder-IDE, und Sie können Fenics-Code darauf schreiben. Denken Sie daran, dass Ihr System jedes Mal, wenn Sie ein Terminal öffnen, die Standardaufforderung öffnet. Sie müssen Ihre Umgebung aktivieren, in der sich Ihr Paket befindet, und die sofortige Änderung daran vornehmen, z. B. (Fenics). Ich hoffe das wird helfen. Vielen Dank sowie allen Menschen, die helfen. Diese Community ist großartig.

batman47
quelle