Hallo Liebe Community, ich habe ein Programm mit PyCharm und einem eigenen virtuellem Envoirnment geschrieben. Nun möchte ich dieses gerne auf meinen RaspPi4 übertragen.
Jetzt fällt mir jedoch mein großer Denkfehler auf: Ich habe mit dem pyinstaller auf einem x86 ubuntu das program erstellt und auf den pi übertragen, hier ist es, verständlicher weise, nicht ausführbar.
Jetzt suche ich nach einer eleganten Lösung wie ich mein x86 Pythonprogramm auf den ARM-Chip vom RaspberryPi portieren kann.
Gibt es hier eine einfache Lösung oder muss ich das Programm auf den PI laden und dort dann mit dem pyinstaller packen?
Gruß und noch einen schönen Abend!
Deploy für RaspPi4
@Krie9er: Warum sollte dein Programm denn portiert werden müssen? Oder nicht auf dem Raspi laufen? Macht _dein_ Programm Dinge, die so nah an der Hardware sind, dass du portieren musst (und das sind Python-Scripte nicht) oder verwendete Drittmodule?
Wenn du schon eine virtuellen Umgebung benutzt, ist doch alles gut. Alles was darin liegt, gehört nicht zu dem was man "verteilt".
Stattdessen legt man eine Datei "requirements.txt" an und schreibt dort die benötigten Module hinein, um sie dann auf dem Zielsystem zu installieren. Im Idealfall lässt man das für sich machen:
Anlegen der Datei auf deinem Entwicklungssystem:
Diese Datei gehört in Repositories bzw. wird mit deinem Programm verteilt.
Auf dem Zielsystem:
Und schon installiert dir pip die in der Datei angegebenen Pakete.
Wenn du schon eine virtuellen Umgebung benutzt, ist doch alles gut. Alles was darin liegt, gehört nicht zu dem was man "verteilt".
Stattdessen legt man eine Datei "requirements.txt" an und schreibt dort die benötigten Module hinein, um sie dann auf dem Zielsystem zu installieren. Im Idealfall lässt man das für sich machen:
Anlegen der Datei auf deinem Entwicklungssystem:
Code: Alles auswählen
pip freeze > requirements.txt
Auf dem Zielsystem:
Code: Alles auswählen
pip install -r requirements.txt
- __blackjack__
- User
- Beiträge: 13938
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Nicht vergessen auf dem Quellrechner das venv zu aktivieren vor dem ``pip freeze`` und auf dem Zielrechner ein venv anzulegen und zu aktivieren bevor da was mit ``pip`` installiert wird.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
— Scott Bellware