Zwei Fragen: Raspberry PI, Ausführbare Dateien

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
Arp
User
Beiträge: 65
Registriert: Dienstag 15. März 2011, 13:21

Hallo,

Ich habe mal zwei, voneinander unabhängige, Fragen.

1.
Ich habe mir neulich einen Raspberry PI bestellt. Auf dem läuft, und ist da die standardsprache, offiziell Python 3. Wenn man nun Programme darauf schreibt, muss man sich großartig sorgen um die Raspberry Architektur machen, oder ist das alles schon in deren Python Version mit integriert?

2.
Ich habe ein Programm das ich gerne an Kollegen weiter geben möchte. Allerdings bedarf dieses Programm die Installation diverser Pakete, die teilweise echt arschig bei der installation sind. Das würde ich denen gerne ersparen. Wie kann ich nun eine ausführbare Datei erstellen (unter Linux!), so dass alle benötigten Pakete direkt da drin stecken, so dass meine Kollegen nur die Datei ausführen müssen ohne sich Gedanken um benötigte Pakete zu machen?

Thx.
Steffo
User
Beiträge: 45
Registriert: Sonntag 24. Mai 2009, 19:38

1. Python ist plattformunabhängig.

2. Alles statisch mitzuliefern könnte evtl. mehr Probleme machen. Du kannst jedenfalls Abhängigkeiten definieren die dann automatisch aufgelöst werden. Guck dir mal Tutorials zu rpm oder deb an.
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

ergänzend zu Zwei: wenn es sich nur um Python-Module handelt: pip kann prima alle Module installieren, die in einer Textdatei angegeben sind.
Arp
User
Beiträge: 65
Registriert: Dienstag 15. März 2011, 13:21

Aber vermutlich nicht wenns python packages von drittanbietern sind. Und darum geht es mir. Meine Kollegen sollen nicht zwei Stunden damit verbringen nöitge Pakete zu installieren.

Zumal eines der benötigten Pakete nichtmal pythonbasiert ist, sondern direkt im System installiert ist. Kann man das dann überhaupt in eine Ausführbare Datei packen?
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Du hast einen RPi, aber ist die Ziel Platform deiner Kollegen auch ein Raspberry PI?

Den wie Steffo schon erwähnte Python is plattform unabhänig, aber der RPI hat ein ARM CPU. Binarys sind dann also nicht mehr portable.

Welches OS hast du auf dem PI damit Python3 Standard ist?

Ich denke der einfachste Weg ist einfach dein Programm auszuliefern und ein Shellscript oder einfach ein Text Howto mit den zusätzlich benötigenden Bibliotheken.
Arp
User
Beiträge: 65
Registriert: Dienstag 15. März 2011, 13:21

Das RPI hat mit der binary nichts zu tun, das waren unterschiedliche Themen. Ich wollte halt nur nicht zwei Threads aufmachen :)

Soweit ich das verstehe ist die offiziell "einsteiger-Distro" wheezy oder so, und da wird python 3 unterstützt.

Bei dem problem mit dem binary hab ich ubuntu, aber die kollegen werden auch andere linuxe nutzen.
BlackJack

@Arp: Wenn Du ein Raspbian (basiert auf Debian Wheezy) installierst, dann stellt sich Deine erste Frage nicht wirklich. Was soll denn da in Python eingebaut werden müssen? CPython ist in Standard-C geschrieben und das System ist ein ganz normales Debian Linux mit der gewohnten Paketverwaltung. Probleme kann man eher bei Sachen erwarten, die hardwarenäher sind, also bei Programmiersprachen zum Beispiel Compiler. Oracle hat beispielsweise (noch) keinen frei verfügbaren JIT-Compiler für armhf im Angebot. Java ist da also langsamer als es sein müsste, oder man muss eine andere Distribution nehmen, die weniger Eigenschaften vom Prozessor nutzt und damit generell etwas langsamer ist.

Standardpython ist bei Raspbian übrigens weiterhin Python 2.7. Es sind allerdings sowohl 2.7 als auch 3.x vorinstalliert auf dem Image.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Das einzige was nicht geht ist C-Module für Python zu kompilieren und sie dann an andere Leute weitergeben, die nicht die gleiche Architektur und OS nutzen (Linux und armhf), aber das ist ja keine besonders überraschende Einschränkung.

Und naja, als Gerät zum entwickeln ist der Raspberry Pi auch etwas arg langsam, da braucht man noch mindestens ein Gerät dass nen Browser flüssig ausführen kann um Dokumentation zu lesen und im Internet suchen zu können.

Und du kannst natürlich auch nicht beliebige Binaries auf dem Raspberry Pi nutzen. "Normalerweise" sind Linux Binaries für x86(_64)-Prozessoren kompiliert, die laufen auf ARM-Prozessoren natürlich nicht.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten