Module zentral im Netzwerk installieren

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
DaDiceman
User
Beiträge: 25
Registriert: Freitag 20. November 2009, 10:39
Wohnort: Stuttgart

Hallo zusammen!

Ist es möglich bestehende Python Module zentral im Netzwerk zu installieren und über die PATHONPATH Umgebungsvariable zu importieren? Ich möchte zum Beispiel PyQt4 und MySQLdb nicht auf jedem Rechner einzeln installieren müssen.

Mit selbstgeschriebenen Modulen funktioniert es einwandfrei, doch mit MySQLdb weiß ich nicht, wie es anstellen soll.

Hat mir jemand einen kleinen Tipp?

Vielen Dank für Eure Hilfe!

Viele Grüße
Chris
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Um was für ein Netzwerk handelt es sich?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
DaDiceman
User
Beiträge: 25
Registriert: Freitag 20. November 2009, 10:39
Wohnort: Stuttgart

Es handelt sich um ein Windowsnetzwerk.

Eine Lösung habe ich schon gefunden. Wenn ich eine EXE erstelle werden ja alle Modulen integriert weshalb ich die Module dann ja nicht mehr hinterlegen muss.

Trotzdem würde mich interessieren, wie ich Module im Netzwerk installieren kann.
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Bei Windows wirst du den entsprechenden Netzwerkpfad zu einem Laufwerksbuchstaben zuordnen und dann den entsprechenden Pfad zum Pythonpath hinzufügen müssen.
Benutzeravatar
Defnull
User
Beiträge: 778
Registriert: Donnerstag 18. Juni 2009, 22:09
Wohnort: Göttingen
Kontaktdaten:

Du installierst die Module auf einem Netzlaufwerk und fügst den Pfad zum Netzlaufwerk in die PATHONPATH Umgebungsvariable ein? Ich weis nicht so recht, wo das Problem sein soll. Genau dafür ist die PATHONPATH Umgebungsvariable doch da.
Bottle: Micro Web Framework + Development Blog
DaDiceman
User
Beiträge: 25
Registriert: Freitag 20. November 2009, 10:39
Wohnort: Stuttgart

Die Sache mit dem PYTHONPATH ist klar. Funktioniert auch bei den selbstgeschriebenen Modulen wunderbar.

Bei den selbstgeschriebenen Modulen habe ich aber nun das Problem, dass sie auf das MySQLdb Modul zugreifen. Ist das lokal installiert, läuft alles wunderbar. Fehlt das MySQL Modul auf einem anderen Rechner wirde dann natürlich ein Fehler ausgegeben.

Wie stelle ich nun das MySQL Modul im Netzwerk zur Verfügung, damit das eigene Tool darauf zugreifen kann?
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Wo ist jetzt dein Problem? Schreib den Pfad zu dem mysql-Modul in den PYTHONPATH und gut ist.
Benutzeravatar
Defnull
User
Beiträge: 778
Registriert: Donnerstag 18. Juni 2009, 22:09
Wohnort: Göttingen
Kontaktdaten:

DaDiceman hat geschrieben:Wie stelle ich nun das MySQL Modul im Netzwerk zur Verfügung, damit das eigene Tool darauf zugreifen kann?
Du kopierst es in den Netzwerk-Modulpfad? Was unterscheidet denn das MySQL Modul von selbst geschriebenen?
Bottle: Micro Web Framework + Development Blog
DaDiceman
User
Beiträge: 25
Registriert: Freitag 20. November 2009, 10:39
Wohnort: Stuttgart

Es funktioniert so leider nicht. Wenn es so funktionieren sollte, dann überprüfe ich das noch einmal.

Danke Für den Tipp!
BlackJack

@Defnull: Das Modul ist kein reines Python-Modul, und das wird letztendlich an irgendeiner Stelle auf die MySQL-Client-DLLs zugreifen wollen, und die müssen dann auch überall verfügbar sein.
DaDiceman
User
Beiträge: 25
Registriert: Freitag 20. November 2009, 10:39
Wohnort: Stuttgart

Bei PyQt funktioniert es genausowenig. :(
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

BlackJack hat geschrieben:das wird letztendlich an irgendeiner Stelle auf die MySQL-Client-DLLs zugreifen wollen, und die müssen dann auch überall verfügbar sein.
Die kann man ja dazupacken. Besser als alles ständig mit py2exe dazuzupacken ist es allemal.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
DaDiceman
User
Beiträge: 25
Registriert: Freitag 20. November 2009, 10:39
Wohnort: Stuttgart

Genau das habe ich gerade mit PyQt versucht in dem ich alle Dateien aus C:\Python25\PyQt4 auf das Netzwerk kopiert habe und den Netzwerkpfad der PATH-Environmentvariable hinzugefügt habe.

Funktioniert aber leider nicht.

Leider kann ich auch im Internet nichts zu diesem Thema finden. :(
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

DaDiceman hat geschrieben:Funktioniert aber leider nicht.
Mich würde mal interessieren wie du auf die Idee kommst, dass „Funktioniert nicht“ in irgendeiner Art und Weise eine adäquate Fehlerbeschreibung ist? Nur um Mißverständnisse zu vermeiden, die Frage ist jetzt nicht ironisch/bösartig gemeint. Ich würde einfach echt gern mal den Gedankengang dahinter verstehen, da das viele Anfänger so machen.
DaDiceman
User
Beiträge: 25
Registriert: Freitag 20. November 2009, 10:39
Wohnort: Stuttgart

Bitte entschuldige meine mangelhafte Fehlerbeschreibung.

Zum Fehler - er meldet einen "ImportError" mit "missing DLL" beim Import der PyQt-Module. Ich habe versucht mit dem Debugger genauer herauszufinden, welche DLL ihm fehlt, konnte aber nichts genaueres herausfinden.

Zum Gedankengang - vielleicht war ich so in Gedanken, dass ich nicht daran dachte meinen Fehler genau zu umschreiben. Schließlich ist es ja klar (zumindest für mich) was ich meine. ;-)
Es ist mir bewusst, dass man versuchen sollte den Fehler so genau zu umschreiben und für gewöhnlich mache ich dies auch. Im konkreten Fall möchte ich mich noch einmal für meine Fahrlässigkeit entschuldigen und mich für deinen konstruktiven Hinweis bedanken.

Kannst du mir nun bei meinem Fehler weiterhelfen? ;-)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Naja, ich würde mal das PyQt-Paket (oder Installer) entpacken und einfach gucken was da so an DLLs drin ist. Normale Python-Modul Installer wie sie ``bdist_wininst`` produziert sind AFAIR einfache ZIP-Archive mit EXE-Vorspann und können mit z.B. Total Commander wie normale Archive geöffnet werden.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

DaDiceman hat geschrieben:Kannst du mir nun bei meinem Fehler weiterhelfen? ;-)
Ich befürchte nicht. Hast du auch Qt auf allen Rechnern installiert?
DaDiceman
User
Beiträge: 25
Registriert: Freitag 20. November 2009, 10:39
Wohnort: Stuttgart

Vielen Dank für Eure Hinweise!

Das Modul MySQLdb funktioniert nun einwanfrei. Wie vorgeschlagen habe ich die EXE entpackt und den kompletten Inhalt in den Netzwerkordner kopiert.

Nun werde ich mein Glück mit PyQt versuchen. :)
Antworten