2016-10-10 3 views
0

Im Moment habe ich eine ausführbare Datei, die in einem Zip-Datei im Anschluss an diese Python-Code ausgeführt wird: https://blogs.gnome.org/jamesh/2012/05/21/python-zip-files/virtualenv innerhalb einzigen ausführbaren

Das Schöne daran ist, dass ich eine einzelne Datei lassen Sie die App enthält. Die Probleme ergeben sich in den Abhängigkeiten. Ich habe versucht, Dateien mit pip in benutzerdefinierten Speicherorten zu installieren, und wenn ich sie in die ZIP einbette, habe ich immer Importprobleme oder Probleme, die in Abhängigkeit von Host-Paketen enden.

Ich begann dann in virtuellen Umgebungen zu suchen, um Paketabhängigkeiten zu gewährleisten. Es scheint jedoch, dass der typische Workflow auf dem Zielcomputer darin besteht, das Aktivierungsskript zu beziehen und den Code innerhalb des virtualenv auszuführen. Was ich tun möchte, ist eine einzige Datei, die ein Python-Skript und alle seine Abhängigkeiten enthält und der Benutzer nur die Datei ausführen kann. Ist das möglich, da der Python-Interpreter tatsächlich mit dem virtualenv gepackt ist? Ist es möglich, den Python-Interpreter aus der Zip-Datei heraus aufzurufen? Was ist der empfohlene Ansatz dafür aus Python-Sicht?

Antwort

-1

Sie können ein Bash-Skript erstellen, das das virtuelle env erstellt und auch die Python-Skripte ausführt.

!#/bin/bash 
virtualenv .venv 
.venv/bin/pip install <python packages> 
.venv/bin/python script 
Verwandte Themen