Windows-IDE um Server in Python zu schreiben mit MySQL

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
W_BequemeGans
User
Beiträge: 3
Registriert: Sonntag 21. Oktober 2012, 19:22

Hallo :!:

Ich suche eine IDE, mit der ich auf Windows ein Python-Programm schreiben kann, was so auch auf Linux laufen würde. Denn wenn das Server-Programm fertig ist, soll es compiliert werden und auf Linux laufen. Das Serverprogramm muss sich aber mit MySQL verbinden. Ist da der offizielle Connector von MySQL von nutzen?

Das Serverprogramm soll für ein Windows-Programm sein, dass ich dann nebenbei auch noch schreibe.
Benutzeravatar
sparrow
User
Beiträge: 4600
Registriert: Freitag 17. April 2009, 10:28

1) Es ist nicht von IDE Abhängig, ob dein Programm auch unter anderen Betriebssystemen läuft. Darin tippst du nur Code. Es ist egal ob du da nur einen Editor oder etwas großes wie Eric oder pyDev nimmst.

2) Python-Programme werden nicht im herkömmlichen Sinne kompiliert.

3) Es gibt einen Sticky-Thread mit Datenbank-Schnittstellen in dem Datenbank-Unterforum.
W_BequemeGans
User
Beiträge: 3
Registriert: Sonntag 21. Oktober 2012, 19:22

sparrow hat geschrieben:1) Es ist nicht von IDE Abhängig, ob dein Programm auch unter anderen Betriebssystemen läuft. Darin tippst du nur Code. Es ist egal ob du da nur einen Editor oder etwas großes wie Eric oder pyDev nimmst.

2) Python-Programme werden nicht im herkömmlichen Sinne kompiliert.

3) Es gibt einen Sticky-Thread mit Datenbank-Schnittstellen in dem Datenbank-Unterforum.
Nummer 1 weiß ich aber ich möchte halt eine IDE für Windows haben!

Nummer 2 was verstehst du unter herkömmlichen Sinne kompiliert? Ich weiß, dass man Python-Code so ausführen kann aber ist es nicht besser, wenn er schon in Maschinencode compiliert ist?

Nummer 3 ich hätte gerne das die Datenanbindung bereits im IDE benutzbar ist.
lunar

@W_BequemeGans Es gibt keine Möglichkeit, Python-Quelltext in Maschinencode zu kompilieren.
BlackJack

@W_BequemeGans: Ad 2: Python-Quelltext wird üblicherweise nicht in Maschinencode übersetzt, sondern je nach Implementierung in eine Zwischenform, die dann von einem Interpreter abgearbeitet wird. Bei CPython, der Referenzimplementierung von http://www.python.org/ wird der Quelltext in eine Bytecodeform übersetzt bevor er vom Iterpterter ausgeführt wird. Das passiert automatisch, da muss man also als Programmierer keinen extra Übersetzungsschritt vorher durchführen. Der Bytecode wird wenn möglich gecached, so das nur bei Änderungen am Quelltext neu übersetzt werden muss. Auch das passiert automatisch im Hintergrund.

Zur DB-Anbindung: Es gibt einen offiziellen „Connector” von MySQL? Man verwendet für relationale Datenbanken üblichersweise ein Datenbankmodul, das die DB-API 2 implementiert, so dass alle Datenbanken über eine zumindest sehr ähnliche, standardisierte Schnittstelle angesprochen werden. Für MySQL ist das `MySQLdb`-Modul wohl am weitesten verbreitet.

Viele benutzen mit `SQLAlchemy` noch eine weitere Abstraktionsschicht über der DB-API 2. Entweder nur um SQL programmatisch zu benutzen, oder auch den ORM-Teil von SQLAlchemy.

Edit:
@lunar: Naja, es gibt JIT-Compiler und Cython. Nur das man ersteres prinzipbedingt nicht vor dem Ausliefern der Anwendung machen kann, und letzteres nicht das bringt, was sich die Leute die üblicherweise nach kompilieren in Maschinencode fragen, erhoffen. :-)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

W_BequemeGans hat geschrieben: Nummer 1 weiß ich aber ich möchte halt eine IDE für Windows haben!
Die ausgereifteste IDE dürfte PyCharm sein. Ansonsten gibt es für Eclipse ein Plugin.
W_BequemeGans hat geschrieben: Nummer 2 was verstehst du unter herkömmlichen Sinne kompiliert? Ich weiß, dass man Python-Code so ausführen kann aber ist es nicht besser, wenn er schon in Maschinencode compiliert ist?
Python wird in einen Architektur unabhängigen Byte-Code übersetzt. Dieser wird dann von einem Interpreter ausgeführt. Das ist analog zur JVM von Java oder der CLR von .NET.
W_BequemeGans hat geschrieben: Nummer 3 ich hätte gerne das die Datenanbindung bereits im IDE benutzbar ist.
Kapiere ich nicht! Was genau hat die IDE mit der DB oder gar der DB-Schnittstelle zu tun? Das musst Du schon genauer beschreiben.

Edit: Ok, da waren andere schneller und ausführlicher. Aber wegen Punkt eins poste ich es dennoch.... ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
W_BequemeGans
User
Beiträge: 3
Registriert: Sonntag 21. Oktober 2012, 19:22

Also ich möchte, dass Werte von Eigenschaften, wie z.B. der Text einer TextBox in einer Datenbank gespeichert wird. Für ein set oder get, möchte ich aber nicht immer die Verbindung inialisieren. Das soll von einem Codeteil dann automatisch ausgeführt werden, falls erforderlich.

Kurz gesagt, dass Profile von dem jeweiligen Nutzer, der dann das Windows-Programm nutzt, soll über den Server transportiert werden und dieser soll das Profil in einer MySQL-Datenbank speichern.
BlackJack

@W_BequemeGans: Dein letzter Beitrag hat irgendwie nichts mit den Rückfragen zu tun‽ Und das „kurz gesagt” ist vielleicht etwas zu knapp formuliert, denn ich habe nur Bahnhof verstanden.

Wenn Du nicht für jeden Lese- oder Schreibvorgang eine neue Verbindung zur Datenbank aufbauen möchtest, dann mach das halt einfach nicht. Und bevor Du so etwas wie „connection pooling” selber implementierst, würde ich noch einmal auf `SQLAlchemy` hinweisen.
Antworten