Angenommen, ich habe ein Befehlszeilenprogramm in Python 2.7 geschrieben. Das Befehlszeilendienstprogramm ruft eine Funktion auf, die ein anderes Befehlszeilenprogramm ausführt. Der Befehl wird wie folgt ausgeführt:Die beste Möglichkeit, eine Abhängigkeit in Pyinstaller zu einem CLI-Programm anzugeben, das mit Subprocess aufgerufen wird
import subprocess
def exec_command(*args):
process = subprocess.Popen(args,stdout=subprocess.PIPE)
output, error = process.communicate()
return output, error
Ich möchte das Programm-Paket mit PyInstaller. Ich habe die Anweisungen befolgt eine binäre Abhängigkeit für das Hinzufügen und führe pyinstaller wie folgt aus:
pyinstaller cli.py --name <new_name> --add-binary <path_to_exec>:.
Dies funktioniert, wenn ich das Programm als Ordner packen und ich kann dann die ausführbare Datei in meinem verpackten Programm durch einfache rufe eine Liste vorbei wie folgt:
Allerdings funktioniert das nicht, wenn ich das Programm als Datei verpacke. Wenn ich so bekomme ich folgende Fehlermeldung:
OSError: [Errno 2] No such file or directory
Failed to execute script cli
Also meine Frage ist, wie kann ich dieses Skript in meinem Kommandozeilen-Tool aufrufen, wenn als Datei verpackt?