Hallo,
bei kompilierten Programmen kann man ja alle Bibliotheken in das Programm statisch linken. Dann wird zwar das Programm größer, aber man muss sich nicht mit Abhängigkeiten herumschlagen (ist sicherlich manchmal ganz praktisch).
Jetzt würd mich interessieren, ob man das wohl auch bei Python machen kann (unter Linux)? Klar, ich kann eine virtualenv einrichten, aber dann muss ich immer immer zuerst die virtualenv starten, was ja auch etwas störend ist. Außerde kann ich das dann nicht einfach als ein „Paket“ weiterverschicken.
Könnte ich eventuell einfach die anderen Python-Pakete als Unterordner in meinen Programmordner kopieren? Wäre das das Äquivalent zum statischen linken?
Danke!
Statisch „linken“?
@Hellstorm: Als ich würde dafür ja virtualenv und eine entsprechende requirements.txt verwenden. Dann muss der Empfänger nur ein neues virtualenv aufsetzen und dort mit PIP und der requirements.txt die Abhängigkeiten installieren. Ebenfalls interessant ist das `wheel`-Format: http://pip.readthedocs.org/en/latest/re ... wheel.html
Ah, ok, also doch virtualenv... Naja, ich habe mir nur gedacht, dass es etwas unpraktisch ist, weil man die virtuelle Umgebung dann immer erst aktivieren muss. Naja, gut, scheint aber wirklich das einfachste zu sein.
Danke!
Danke!
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Aktivieren muss man gar nichts. Dieses "Aktivieren" ist doch nur ein Convenience-Schritt fürs entwickeln, damit man nicht überall immer PYTHONPATH=/pfad/zu/deinem/virtualenv reinwerfen muss. Wenn man die Applikation verteilt kann man auch direkt ein Shellskript machen dass das mitgelieferte Virtualenv in den Pfad einbindet und das wars dann. Zumindest sofern man keine kompilierten Module hat.Hellstorm hat geschrieben:Ah, ok, also doch virtualenv... Naja, ich habe mir nur gedacht, dass es etwas unpraktisch ist, weil man die virtuelle Umgebung dann immer erst aktivieren muss.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice