2016-05-16 7 views
1

enthalten: Ich bin in Python, und ich frage mich, ob ich mein Programm in einer Art zusammengestellt Build Projektes freigeben kann mit allen Modulen und librarys enthalten, also kann ich es auf diffrent Systemen laufe ? Ich möchte opencv nicht auf jedem PC installieren.öffentliches Python-Programm als eine Datei mit allen Modulen

+0

„Ich will nicht opencv auf jedem PC installieren“ - Es gibt Projekte, die die Bibliotheken von Drittanbietern gemacht zu verteilen, die Sie benötigen (zB [ 'py2exe'] (http: //www.py2exe. org /)) mit Ihrem Projekt alle in einem ordentlichen "Binär" verpackt. – mgilson

Antwort

0

Sie können eine requirements.txt Datei angeben, die die Abhängigkeiten auflistet, die von Ihrem Programm verwendet werden. Python pip kann diese Datei lesen, um Ihre Anwendung zu bündeln und zu paketieren. Siehe die Dokumentation hier: https://pip.pypa.io/en/stable/user_guide/#requirements-files.

Ich glaube auch, dass OpenCV einige nativen Erweiterungen erfordert installiert, die nicht mit Python verpackt. Leider müssen Sie auf jedem neuen Computer, den Sie verwenden, native Erweiterungen installieren.

+0

toller Track, aber was ist mit Linux? Gibt es irgendeine "exe-like" Datei, die als "sicher für Nicht-Linux-Benutzer" auf Ubuntu usw. ausgeführt werden könnte? –

+0

Nicht wirklich. Denken Sie daran, Python ist eine dynamische Sprache und benötigt die Python-Laufzeit, um tatsächlich als Programm ausgeführt zu werden. Es kompiliert nicht genau auf native ausführbare Assembly genau wie es C tut. Daher wird Python-Code fast immer als Skript und nicht als Binärdatei ausgeführt. –

+0

Also, wenn ich C benutze, könnte ich "exe-like" Datei mit allen Bibliotheken (mit opencv und numpy) kompilieren und es auf Linux ausführen? Der beste Weg ist, exe und wine oder diffrent file zu verwenden und auf clear linux auszuführen. –