Vorerst:
Ich verwende Python 2.5 momentan.
Zu meinem Problem:
Ich hab ein kleines Projekt, das verwendet unter anderem Elementtree und wxPython - später soll das Projekt auch auf anderen PCs laufen.
Für Windows PCs verwend ich einfach py2exe - hab ich schon mal genutzt. kenn ich.
Aber was mach ich für andere Linux/Mac OS "PCs"? Linux hat Python schon von Grund auf dabei, Mac OS afaik auch.
Nur wenn ich einfach meine Skripte rüberkopier, fehlt unter anderem wxPython und Elementree. (Später könnten noch ganz andere Module dazukommen)
Gibt es etwas, was mir die benötigten Module "zusammensucht" und entsprechend eine Struktur in einem Verzeichnis erstellt - das ich das verwend und mitliefer?
Das wäre nicht so sauber, aber wenigstens würden sie ohne Änderungen am System laufen, denk ich.
Oder hat jemand einen anderen Vorschlag?
Skript auf anderen PC->Benötigte Module nicht vorhanden
GNU/Linux und andere Unixoide Systeme bieten idR Paketmanager oder haben zumindest ein einheitliches, direktes Installationssystem, das den User, ganz anders als bei Windows Systemen, nicht bevormundet durch einen "Wizard" oder ähnliches. Insofern kannst du darauf vertrauen, das die meisten User sich den ganzen Stapel ohne weitere Probleme selbst zusammensuchen können oder bereits vorinstalliert haben.
Sollte dein Bestreben eher darauf abzielen, den Sourcecode zu "obfuskieren", also uneinsehbar zu machen, rate ich dir, es zu lassen. Schau mal im Wiki unter "Open Source ist nicht böse" (oder so ähnlich).
Sollte dein Bestreben eher darauf abzielen, den Sourcecode zu "obfuskieren", also uneinsehbar zu machen, rate ich dir, es zu lassen. Schau mal im Wiki unter "Open Source ist nicht böse" (oder so ähnlich).
`ElementTree` gehört seit Python 2.5 zur Standardbibliothek und ist dort unter `xml.etree` verfügbar.
Bei Linux würde ich einfach in der Dokumentation die erwarteten Module von Drittanbietern erwähnen, denn das meiste sollte der Anwender dort über die Paketverwaltung der Distribution installieren können.
Bei Linux würde ich einfach in der Dokumentation die erwarteten Module von Drittanbietern erwähnen, denn das meiste sollte der Anwender dort über die Paketverwaltung der Distribution installieren können.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ja. Nützlich ist es auch ein wenig zu recherchieren und die Namen der Pakete in den entspechenden Distributionen aufzulisten. Muss natürlich nicht für alle sein, die paar größten reichen schon, wer was anderes nutzt wird es schon irgendwie hinbekommen die Paketnamen herauszufinden.BlackJack hat geschrieben:Bei Linux würde ich einfach in der Dokumentation die erwarteten Module von Drittanbietern erwähnen, denn das meiste sollte der Anwender dort über die Paketverwaltung der Distribution installieren können.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Ich weiß, aber ich will nicht drauf hoffen das sie es vorinstaliert haben und ihnen auch nicht zumuten es zu installieren.str1442 hat geschrieben:GNU/Linux und andere Unixoide Systeme bieten idR Paketmanager oder haben zumindest ein einheitliches, direktes Installationssystem, das den User, ganz anders als bei Windows Systemen, nicht bevormundet durch einen "Wizard" oder ähnliches. Insofern kannst du darauf vertrauen, das die meisten User sich den ganzen Stapel ohne weitere Probleme selbst zusammensuchen können oder bereits vorinstalliert haben.
Da fällt mir jedoch ein weiterer Denkansatz ein: Beim start wird geprüft ob die benötigten Module vorhanden sind, wenn nicht wird nach Root Passwort gefragt und entsprechend nachinstalliert - inwieweit das geht, müsst ich noch schauen...
Wenn das Programm ranwächst und größer wird, wollt ich es unter die GPL stellenstr1442 hat geschrieben: Sollte dein Bestreben eher darauf abzielen, den Sourcecode zu "obfuskieren", also uneinsehbar zu machen, rate ich dir, es zu lassen. Schau mal im Wiki unter "Open Source ist nicht böse" (oder so ähnlich).
Mir geht es vorwiegend um ein paar Personen die mehrere Macs rumstehen haben - aber nicht genügend Ahnung haben um soetwas wie wxPython nachzuinstallieren
Elementree und wxPython sind auch nur Beispiele, es können später durchaus noch andere dazukommen
Für Mac OS gibt es py2app, die davon erzeugten Application Bundles werden aber recht groß (enthalten halt das grundlegende Python Framework + die vom Projekt verwendeten Module). Davon abgesehen funktioniert das aber gut, und in ein ZIP-Archiv gepackt ist auch die Größe erträglich. Eventuell ist zu überlegen, für Windows + Linux pyinstaller einzusetzen, so hättest du zumindest nur zwei executable-Builder, mit denen du dich auseinander setzen musst.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Oh, das würde ich nicht machen. Niemand wird sein Passwort in ein Programm eingeben, dem er nicht vertraut. Da ist es sinnvoller direkt Pakete mit den entsprechenden Dependencies zu schnüren, die man dann über GUIs installieren kann.Ekud hat geschrieben:Da fällt mir jedoch ein weiterer Denkansatz ein: Beim start wird geprüft ob die benötigten Module vorhanden sind, wenn nicht wird nach Root Passwort gefragt und entsprechend nachinstalliert - inwieweit das geht, müsst ich noch schauen...
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Ergänzend zu Leonidas:
Das verletzt außerdem zwei Unix Paradigmen, nämlich:
1. Ein Programm sollte nur eine einzige Aufgabe gut können
2. Vermeide Benutzeroberflächen, die den Benutzer fesseln.
Ich würde ein Programm das einfach mal nach irgendwas fragt, was für seine Aufgabe nicht wichtig ist nur ungerne verwenden, und wenn es um Dinge wie das root Passwort geht, dem Maintainer um die Ohren hauen
Das verletzt außerdem zwei Unix Paradigmen, nämlich:
1. Ein Programm sollte nur eine einzige Aufgabe gut können
2. Vermeide Benutzeroberflächen, die den Benutzer fesseln.
Ich würde ein Programm das einfach mal nach irgendwas fragt, was für seine Aufgabe nicht wichtig ist nur ungerne verwenden, und wenn es um Dinge wie das root Passwort geht, dem Maintainer um die Ohren hauen
Wenn ein Modul nicht vorhanden ist, könnte dein Programm auch einfach sowas sagen wie: "Kann nicht starten, weil Modul xyz fehlt. Dieses kann aber mittels [befehl] installiert werden." Ein Copy & Paste werden deine Mac User ja noch hinkriegen, oder?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Sofern die das Programm nicht auf dem iPhone verwenden, schon.snafu hat geschrieben:Ein Copy & Paste werden deine Mac User ja noch hinkriegen, oder?
SCNR
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice