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
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.
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.
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.
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
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
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 ;-)
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.
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
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.
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? ;)
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