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
? Was soll denn "time." sein? Das ist kein gültiger Python-Code, wenn du das so ausführst, druckt der Interpreter einen Syntaxfehler.
Der Code läuft hier genau so:
1 | import time |
2 | while(1): |
3 | print("Hallo") |
4 | time.sleep(2) |
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.
Philipp schrieb: > Python programmieren. Hier ist eine Online IDE fuer Python http://www.tutorialspoint.com/execute_python3_online.php und hier ein Tutorial - ebenso von tutorialspoint.com https://www.google.ie/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwjHk5DeyIzLAhUB9g4KHeU2DggQFggcMAA&url=http%3A%2F%2Fwww.tutorialspoint.com%2Fpython%2Fpython_tutorial.pdf&usg=AFQjCNEB-FeSjJcFeiKGB_kp5ss6ePot7g&cad=rja
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
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
Wenn du nach IDEs/Editoren fragst, kommt immer eine Horde Leute, die "VI!" und "EMACS!" durcheinander ruft. Das muss so sein.
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 |
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.