Forum: Compiler & IDEs Python auf Raspberry Pi


von Philipp (Gast)


Lesenswert?

Hallo,

ich habe mir einen RPi gekauft und will den mit Python programmieren.
Ist mein erstes mal Linux und mein erstes mal Python.

Ok, Konsole gestartet und losgelegt:
> nano hallo.py
> import time
> while(1):
>     print("Hallo")
>     time.

Hmm, . und nichts passiert. Habe ich was falsch gemacht?
Das selbe dann mit IDLE -> wieder nichts.
Programm läuft trotzdem.

Das kann doch nicht sein, ist Linux wirklich so rückschrittlich?
Oder ist das nur, weil auf dem Pi nichts besseres läuft?
Das ging ja selbst in Excel VBA 2003 schon.

Kann mir jemand einen Tipp geben, wie ich den RPi komfortabel 
programmieren kann?

Geht auch Crossentwicklung von Windows aus?
Der Pi selbst soll keinen Monitor, Maus, Tastatur haben.

Danke,
Philipp

von Sven B. (scummos)


Lesenswert?

?

Was soll denn "time." sein? Das ist kein gültiger Python-Code, wenn du 
das so ausführst, druckt der Interpreter einen Syntaxfehler.

von Philipp (Gast)


Lesenswert?

Der Code läuft hier genau so:
1
import time
2
while(1):
3
    print("Hallo")
4
    time.sleep(2)

von Philipp (Gast)


Lesenswert?

Ups, gerade fällt der Groschen.

Ich erwarte natürlich, dass nach dem "." eine Liste der Methoden, 
Attribute, etc. erscheint.

Sorry, ich habe mich nicht klar ausgedrückt.

von Sven B. (scummos)


Lesenswert?

Ne, das war wirklich überhaupt nicht klar ausgedrückt.

Im Terminalemulator. Klar. Nein, da gibt es sowas nicht (bzw. ipython 
kann das sogar wenn man Tab drückt). Nimm eine IDE die python kann, 
KDevelop, spyder, sowas.

von Yalu X. (yalu) (Moderator)


Angehängte Dateien:

Lesenswert?

Philipp schrieb:
> Das kann doch nicht sein, ist Linux wirklich so rückschrittlich?

Du möchtest Auto-Completion für Python?

Nein, das kann der Linux-Kernel nicht. Das ist aber auch nicht seine
Aufgabe, sondern eher die eines Editors bzw. einer IDE.

Du nutzt Nano als Editor. Der hat das gewünschte Feature offensichtlich
nicht, zumindest nicht von Haus aus. Andere Editoren/IDEs haben das aber
sehr wohl.

Ich kann dir leider die in Frage kommenden Editoren/IDEs nicht
aufzählen, da ich selber nur einen einzigen Editor für alles benutze,
nämlich Vim. Dafür gibt es bspw. das Plugin jedi-vim, das
kontextsensitive Auto-Completion, Online-Hilfe u.v.m. bietet (s.
Screenshot im Anhang). Das Ganze funktioniert im reinen Textmodus, also
insbsondere auch über SSH-Verbindungen ohne X11-Forwording.

> Das ging ja selbst in Excel VBA 2003 schon.

Ja, aber eben nur für VBA und nicht für Python :)

> Geht auch Crossentwicklung von Windows aus?

Um die Frage in deinen Worten zu beantworten: Das hängt davon ab, ob
Windows nicht zu rückschrittlich dafür ist ;-)

Aber Scherz beiseite: Der Raspberry Pi ist leistungsfähig genug, um die
erforderlichen Entwicklungs-Tools für Python lokal auszuführen, da
bedarf es keiner Cross-Entwicklung.

von Toxic (Gast)


Lesenswert?


von Sven B. (scummos)


Lesenswert?

Für jedi-vim bin ich irgendwie zu blöd. Ich tippe "import 
matplotlib.pyplot as plt" und dann "plt." und es friert für 30 Sekunden 
ein ... Mache ich was falsch? Danach ist es schon schneller, aber das 
geht halt für jedes Modul so ...

> Aber Scherz beiseite: Der Raspberry Pi ist leistungsfähig genug, um die
> erforderlichen Entwicklungs-Tools für Python lokal auszuführen, da
> bedarf es keiner Cross-Entwicklung.
Also mich macht das wahnsinnnig auf dem Ding zu entwickeln, ich will 
nicht wissen wie lange das braucht um diese Vervollständigunsliste zu 
berechnen :D

: Bearbeitet durch User
von Philipp (Gast)


Lesenswert?

Danke für die Antworten.
Soll ich mir Linux installieren?
Ich würde eigentlich lieber bei Windows bleiben.
Dort soll Pycharm ganz gut sein, weil das über SCP direkt auf den Pi 
zugreifen kann.
Ich bin über WLAN mit dem Pi verbunden.
Kann ich dann auch direkt mit Pycharm Debuggen?
Und muss ich mir dann auch alle Python Bibliotheken des Pi zusätzlich 
lokal installieren?

VI habe ich getestet.
Dass man erst i drücken muss habe ich in 5min recherchiert. Aber dass 
man dann nicht mit den Pfeiltasten im Text navigieren kann (damit 
schreibe ich Zeichen in den text?!) ist schon wirklich sehr seltsam.
Unter Windows bin ich es auch gewohnt, dass ich den Cursor per Maus 
platzieren oder Textabschnitte selektierten, kopieren, an beliebiger 
Stelle einfügen, etc. kann. Alles andere erscheint mir auch nicht mehr 
zeitgemäß.

Danke, Phil

von Sven B. (scummos)


Lesenswert?

Wenn du nach IDEs/Editoren fragst, kommt immer eine Horde Leute, die 
"VI!" und "EMACS!" durcheinander ruft. Das muss so sein.

von Eric B. (beric)


Lesenswert?

Philipp schrieb:
> Soll ich mir Linux installieren?

Nöh, du kannst es auch von einer live CD booten oder in einer VM laufen 
lassen.

> VI habe ich getestet.

Wenn schon vi, dann wenigstens vim sodass...

> Aber dass
> man dann nicht mit den Pfeiltasten im Text navigieren kann (damit
> schreibe ich Zeichen in den text?!) ist schon wirklich sehr seltsam.
> Unter Windows bin ich es auch gewohnt, dass ich den Cursor per Maus
> platzieren oder Textabschnitte selektierten, kopieren, an beliebiger
> Stelle einfügen, etc. kann. Alles andere erscheint mir auch nicht mehr
> zeitgemäß.

...das dann auch funktioniert.
Ich habe über Jahrzehnte vi(m) benutzt, aber tue mir das mittlerweile 
auch nicht mehr an. Und es geht mir gut ;-)

von Yalu X. (yalu) (Moderator)


Lesenswert?

Sven B. schrieb:
> Für jedi-vim bin ich irgendwie zu blöd. Ich tippe "import
> matplotlib.pyplot as plt" und dann "plt." und es friert für 30 Sekunden
> ein ... Mache ich was falsch? Danach ist es schon schneller, aber das
> geht halt für jedes Modul so ...

Auf dem Raspberry Pi habe ich es nicht ausprobiert. Hier auf meinem
Laptop (mit SSD) dauert es beim ersten Mal ca. 1,5 s, danach 0,1 s, was
IMHO ganz akzeptabel ist.

Allerdings aktiviere ich die Auto-Vervollständigung nur relativ selten,
nämlich dann, wenn ich Module benutze, mit denen ich mich mittelmäßig
gut auskenne. Kenne ich ein Modul sehr gut, brauche ich das Feature
kaum, und es stört mehr, als das es nützt. Ist ein Modul hingegen neu
für mich, nützt mir die Auto-Vervollständigung auch nichts, da ich dann
sowieso eine ausführlichere Dokumentation brauche.

Philipp schrieb:
> VI habe ich getestet.
> ... nicht mehr zeitgemäß.

Es war nicht meine Absicht, dich dazu zu überreden, Vi bzw. Vim zu
nutzen. Diesen Editor mag man entweder, weil man sich irgendwann mangels
Alternativen sich die Zeit genommen hat, sich darin einzuarbeiten, oder
man hasst ihn :)

Ich wollte damit nur anhand eines Beispiels aufzeigen, dass
kontextabhängige Auto-Vervollständigung keine Domäne von Windows und
VBA, sondern auch mit Linux und Python möglich ist.

Andere Beispiele, die es durchaus gibt, kenne ich nicht, da ich nur ganz
selten andere Editoren oder IDEs benutze. Ganz sicher gibt es das
Feature in Eclipse (mit PyDev), aber fast genauso sicher bin ich mir,
dass du das nicht auf dem Raspberry verwenden möchtest, denn dazu ist es
einfach zu ressourcenhungrig.

von Philipp (Gast)


Lesenswert?

Ich habe mir jetzt lubuntu in einer VirtualBox VM installiert.
Die Konsole mit SSH ist ganz gut, besser als Putty.
Damit wächst lokal und remote enger zusammen.
Doof ist noch der Datenaustausch und Copy & Paste zwischen VM und 
Windows.

Auch habe ich jetzt Desktopsharing auf dem Pi installiert (xrdp) und 
kann damit von Windows aus grafisch arbeiten.
Auch gut, aber nicht so schnell und komfortabel wie lokal unter Windows.

Ich denke darüber nach auf dem Pi Samba einzurichten und auf meinem 
Windows mit Vollzugriff einzubinden.
Dann kann ich automatisch auch mit aller Windowssoftware darauf arbeiten 
wie lokal. So zumindest der Gedanke. Sinnvoll?

Hat jemand Erfahrungen mit PyCharm und kann zu meinen Fragen oben was 
schreiben?



Nur am Rande:
> Allerdings aktiviere ich die Auto-Vervollständigung nur relativ selten,
> nämlich dann, wenn ich Module benutze, mit denen ich mich mittelmäßig
> gut auskenne. Kenne ich ein Modul sehr gut, brauche ich das Feature
> kaum, und es stört mehr, als das es nützt. Ist ein Modul hingegen neu
> für mich, nützt mir die Auto-Vervollständigung auch nichts, da ich dann
> sowieso eine ausführlichere Dokumentation brauche.

Wenn dich das Feature stört, dann nutzt du wahrscheinlich die falsche 
IDE.
Ich bin viel unter Visual Studio und Excel VBA unterwegs, und dort 
funktioniert es hervorragend. Keine Zeitverzögerung, nicht zu 
aufdringlich, wird beim Tippen stets aktualisiert und mit Tab sofort 
übernommen. Super komfortabel, möchte ich nie wieder missen. Obwohl ich 
mich in den gängigsten Bibliotheken gut auskenne kann ich mich nicht 
immer an die genaue Bezeichnung der Objekte / Methoden erinnern, und 
tippen tue ich auch nicht gerne mehr als nötig.
Und dann geht es ja noch weiter: Klammer auf, und es kommt eine 
Beschreibung der Parameter mit Datentyp. Da braucht es kaum noch eine 
Dokumentation.
Oft nutze ich eine neue Methode ohne jemals von ihr gehört zu haben, 
einfach nur indem ich anfange zu tippen und dann tatsächlich was 
passendes erscheint.
Bei den heutigen Projektgrößen weiß ich auch wirklich nicht, wie man 
ohne sowas klar kommen sollte.
Aber sorry, ich schweife vom Thema ab...

Grüße, Phil

von Holger (Gast)


Lesenswert?

Für Python grundsätzlich ein Linux nutzen, da hast du alles was du 
brauchst.
Unter Windows wird Python immer ein Fremdkörper bleiben, finde dich 
damit ab.
Pycharm ist closed source und fällt alleine deswegen schon aus. Wenn es 
unbedingt eine fette IDE sein muss, dann nimm eclipse unter Linux. 
Persönlich verwende ich Kate.

von Sven B. (scummos)


Lesenswert?

Holger schrieb:
> Wenn es
> unbedingt eine fette IDE sein muss, dann nimm eclipse unter Linux.
> Persönlich verwende ich Kate.
Und du empfiehlst Eclipse, statt KDevelop, was quasi kate mit Python 
support ist? Wieso? ;)

von Kaj (Gast)


Lesenswert?

Holger schrieb:
> Pycharm ist closed source und fällt alleine deswegen schon aus. Wenn es
> unbedingt eine fette IDE sein muss, dann nimm eclipse unter Linux.
> Persönlich verwende ich Kate.
Es gibt noch Eric. Ist ganz brauchbar mit der integration von PyLint.
Unter Windows ist Visual Studio mit Python Plugin sehr gut.
Und wenn man Geld ausgeben will: WingIDE. (Wird mittlerweile sogar über 
Steam angeboten :o )

Eric6: http://eric-ide.python-projects.org/index.html
1
Eric is a full featured Python editor and IDE, written in Python.
2
It is based on the cross platform Qt gui toolkit, integrating the highly
3
flexible Scintilla editor control.

WingIDE: http://www.wingware.com/

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.