Seite 1 von 1

Module zentral im Netzwerk installieren

Verfasst: Dienstag 12. Januar 2010, 19:07
von DaDiceman
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

Verfasst: Dienstag 12. Januar 2010, 21:26
von Leonidas
Um was für ein Netzwerk handelt es sich?

Verfasst: Mittwoch 13. Januar 2010, 09:41
von DaDiceman
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.

Verfasst: Mittwoch 13. Januar 2010, 10:36
von mkesper
Bei Windows wirst du den entsprechenden Netzwerkpfad zu einem Laufwerksbuchstaben zuordnen und dann den entsprechenden Pfad zum Pythonpath hinzufügen müssen.

Verfasst: Mittwoch 13. Januar 2010, 10:46
von Defnull
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.

Verfasst: Mittwoch 13. Januar 2010, 11:00
von DaDiceman
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?

Verfasst: Mittwoch 13. Januar 2010, 11:18
von Darii
Wo ist jetzt dein Problem? Schreib den Pfad zu dem mysql-Modul in den PYTHONPATH und gut ist.

Verfasst: Mittwoch 13. Januar 2010, 11:22
von Defnull
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?

Verfasst: Mittwoch 13. Januar 2010, 11:46
von DaDiceman
Es funktioniert so leider nicht. Wenn es so funktionieren sollte, dann überprüfe ich das noch einmal.

Danke Für den Tipp!

Verfasst: Mittwoch 13. Januar 2010, 12:13
von 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.

Verfasst: Mittwoch 13. Januar 2010, 14:16
von DaDiceman
Bei PyQt funktioniert es genausowenig. :(

Verfasst: Mittwoch 13. Januar 2010, 14:53
von Leonidas
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.

Verfasst: Mittwoch 13. Januar 2010, 15:26
von DaDiceman
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. :(

Verfasst: Mittwoch 13. Januar 2010, 20:25
von Darii
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.

Verfasst: Mittwoch 13. Januar 2010, 23:11
von DaDiceman
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? ;-)

Verfasst: Mittwoch 13. Januar 2010, 23:22
von Leonidas
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.

Verfasst: Donnerstag 14. Januar 2010, 09:01
von Darii
DaDiceman hat geschrieben:Kannst du mir nun bei meinem Fehler weiterhelfen? ;-)
Ich befürchte nicht. Hast du auch Qt auf allen Rechnern installiert?

Verfasst: Donnerstag 14. Januar 2010, 11:35
von DaDiceman
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. :)