2016-10-01 3 views
5

Ich habe angefangen zu lernen, Python und bis jetzt mein Setup wurde gefolgt - Python 3.5 Installation auf Win10 64bit lokalen Maschine mit PyCharm als eine große IDE. Alles funktioniert, Matplotlib-Diagramme und andere visuelle Ausgaben fein angezeigt, Debugging-Arbeiten, etc.Python Plotten auf Remote-Server mit PyCharm

Nun bin ich auf einige Bibliotheken gestoßen, die nur unter Linux funktioniert. Ich habe Ubuntu 16.4 64bit VPS auf Digital Ocean installiert, Python 3.5 installiert. In PyCharm habe ich eine SFTP-Verbindung zum Remote-Host eingerichtet. Code läuft funktioniert, Debugging funktioniert, aber ich bin nicht in der Lage, Display-Ausgabe (Matplotlib Plots, ...) zu lokalen (Win10) Maschine zu bringen. Da ich mit Linux-GUI-Umgebungen (X11?) Überhaupt nicht vertraut bin, habe ich nach dem googeln folgende Fragen:

1) Sollte irgendetwas auf Remote-Linux-Rechner installiert sein? (z. B. x11 client/server/smth?)

2) Sollte irgendetwas auf der lokalen Win-Maschine installiert sein? (z. B. Xming?)

3) Sollte irgendetwas auf der Remote-Linx-Maschine konfiguriert sein? (z.B. X11-Weiterleitung)

4) Sollte irgendetwas auf der lokalen Win-Maschine PyCharm konfiguriert sein?

5) Es gibt X11 Weiterleitungseinstellungen in Putty und einige haben vorgeschlagen, diese zu verwenden, aber ich bin mir nicht sicher, sollte Putty Sitzung parallel mit PyCharm laufen und kann vermieden werden.

Vielen Dank!

PS - Ich habe Jupyter Notebook (und neuesten Jupyter Lab) auf Remote-Maschine installiert und es funktioniert ausgezeichnet, aber ich bevorzuge immer noch PyCharm als primäre IDE mit besseren Code-Abschluss, Debugger und andere Vergünstigungen.

Antwort

6

Ok, nachdem einige mehr googeln ich es geschafft, endlich diesen Prozess zum Laufen zu bringen, hoffen, dass es jemand hilft:

1) auf Remote-Host (VPS, Ubuntu 16.04) Ich musste X11-Server installieren, die ich von tat :

sudo apt-get install xorg 
sudo apt-get install openbox 

2) auf dem Remote Host musste ich sicherstellen, dass X11Forwarding in/aktiviert etc/ssh/sshd_config

3) auf lokale Win10 Maschine hatte ich Xming Server und starten sie es mit Standard-Installation die Einstellungen.

4) Auf der lokalen Win10-Maschine musste ich Putty so konfigurieren, dass X11 Forwarding (Connection-> SSH -> X11 Forwarding) mit den Standardeinstellungen verwendet wurde und die Verbindung während der Ausführung von PyCharm geöffnet blieb (PyCharm scheint keine Option zu aktivieren) x11 Weiterleitung, also Kitt muss im Hintergrund laufen)

5) Auf Remote-Maschine musste ich Display-Nummer überprüfen (Echo $ DISPLAY) - das kann für jeden anders sein. Für mich war es localhost: 10,0

6) In PyCharm Run-Konfiguration -> Umgebungsvariablen I DISPLAY = localhost hinzuzufügen hatte: 10,0

Nach all diesen Schritten und Putty + Xming in backgroud läuft, konnte ich führe Remotecode aus und bringe die Grafik zurück auf meinen Windows 10 PC!

PS - Prozess ist eigentlich langsam, ich muss etwa 10 Sekunden warten, bevor das Bild zu mir gebracht wird. Ich bin mir nicht sicher, warum oder wie ich es beschleunigen soll. Könnte eine andere Frage sein. (Verringerung der Chipher Stärke und Ermöglichen der Kompression hilft nicht.Es scheint eine Art Initialisierungsproblem mit x11 remote und local)