Anwendung veröffentlichen/verteilen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
drentsch
User
Beiträge: 2
Registriert: Freitag 4. Dezember 2020, 11:24

Hallo,
ich bin total neu in Python. Ich muss für die Firma eine Konsolenapp bereitstellen die auf Oracle sowie auf Mailchimp zugreifen kann.
Phyton ist die einzige Umgebung die das zulässt deshalb habe ich es gewählt.
Ich entwickle in Visual Studio 2019 auf Windows 10.
Ich habe ein Python Anwendung erstellet, ein einziges py-file, welche ein Connection auf Mailchimp und Oracle macht und Daten liest.
Dann habe ich ein pyc-File erstellt, dieses läuft auf meinem Entwicklungs-PC einwandfrei in irgendeinem Verzeichnis.
Wenn ich die pyc-Datei nun auf einen anderen Computer kopiere und starte reklamiert die App dass es die Module für Oracle und Mailchimp nicht findet.
Bei anderen Anwendungen in Visual Studio habe ich eine "Veröffentlichen" Funktion die alles zusammen packt was nötig ist hier nicht.
Wie muss ich da vorgehen , muss ich das wirklich so ein Script von Hand zusammen bastekn oder geht das einfacher?

Danke für Eure Hilfe
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

.pyc-Dateien enthalten nur den Bytecode.

Normalerweise geht man so vor, dass man sein Programm zusammen mit einer Datei verteilt, in der steht, welche externen Module gebraucht werden. In der Regel installiert man die über pip und pip hat mit der Option "freeze" die Möglichkeit die installierten Module aufzulisten. Diese Information in eine Datei gespeichert kann man mit pip auch wieder mit der Option -r einlesen und pip installiert die Module dann in der entsprechenden Version.

Wenn du weißt, dass du nur unter Windows verteilst, kannst du mit Tools eine .exe-Datei erstellen. Ich verwende dafür pyinstaller. Das Tool nimmt dein Script, die Python-Runtime und externe Module und verpackt das in die .exe, die beim Start auf dem Zielrechner entpackt und ausgeführt wird. Braucht aber ein bisschen Einararbeitung und funktioniert nicht unbedingt mit allen externen Modulen.
drentsch
User
Beiträge: 2
Registriert: Freitag 4. Dezember 2020, 11:24

Hallo,
vielen Dank für die rasche Antwort. Das funktioniert so einwandfrei :-)
Antworten