Forum: PC-Programmierung Eclipse Python Projekt auf Raspberry übertragen


von Michael K. (michael_k512)


Lesenswert?

Hallo,

ich habe auf meinem Windows 7 PC unter Eclipse ein Python-Programm zum 
Loggen meiner Heizung geschrieben und getestet. Dieses würde ich nun 
gerne auf die Raspberry übertragen.
Der erste Versuche ist leider gescheitert da auf der Raspberry nicht 
alle packages (imports?) installiert sind welche ich auf dem PC habe.
Gibt es eine Möglichkeit alle benötigten imports automatisch in ein 
Verzeichnis zu packen?
Ich habe ein wenig über setup.py gelesen, bin mir aber nicht sicher ob 
dies der richtige Weg ist.
Ist würde gerne vermeiden die ganzen verwendeten packages von Hand auf 
der Raspberry zu installieren und mir so eine gewisse Portabilität 
erhalten.

Hat jemand eine Idee wie ich das bewerkstellige?

Das Projekt besteht aus 2 Dateien (file.py und xmltodict.py) sowie den 
folgenden imports: http.client, urllib.request


Vielen Dank für Eure Hilfe.

von Tom (Gast)


Lesenswert?

Ist auf dem Himbeergerät ein vollständiges Python installiert? Oder nur 
python3-minimal o.ä.? Letzeres wird meist standardmäßig installiert und 
enthält nur die Module, die zum Booten etc. benötigt werden (deine 
genannten sind nicht dabei). Will man richtig damit arbeiten, muss man 
meist ein vollständiges Paket installieren.

von Kaj (Gast)


Lesenswert?

Erstmal musst du zusehen das auf beiden die gleiche Version von Python 
installiert ist, also Python 2.x oder Python 3.x. Ich empfehle Python 3.

Mit Python 3 kannst du einfach in der Konsole ein
1
pip install paketname
machen. Als Beispiel:
1
pip install pyserial
Damit wird das gewünschte Paket an die richtige Stelle in deinem System 
installiert. pip install funktioniert auch unter windows.

von Kaj (Gast)


Lesenswert?

Michael K. schrieb:
> Der erste Versuche ist leider gescheitert da auf der Raspberry nicht
> alle packages (imports?) installiert sind welche ich auf dem PC habe.

ah ok, da liegt der Hase im Pfeffer.

Michael K. schrieb:
> sowie den
> folgenden imports: http.client, urllib.request
Das sind Pakete aus Python 3.
Auf dem Linux für deinen RPi (wahrscheinlich Raspbian?) wird aber nur 
Python 2 installiert sein. Einfach Python 3 installieren und der Lachs 
ist gegessen.

von Michael K. (michael_k512)


Lesenswert?

Hallo,

stimmt, ich nutze Raspbian.
Ich werde mich mal schlau machen und Python 3 nachinstallieren.

Aber nebenbei, gibt es ne Möglichkeit bzw. ein Tool welches mir alle 
benötigten imports in einen Ausgabeordner packt?

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Michael K. schrieb:
> Aber nebenbei, gibt es ne Möglichkeit bzw. ein Tool welches mir alle
> benötigten imports in einen Ausgabeordner packt?
Naja, das wäre so, als wenn du die Header aus der standard lib deinem 
C/C++-Projekt beilegen würdest. sowas macht man nicht.
Aber ja, du kannst einfach die Python-Dateien (und alle Python-Dateien 
die da wieder importiert werden) einfach in deinen Projektordner 
kopieren.
Das hilft dir allerdings nicht zwingend, da dann noch immer nur Python 
2 auf dem RPi installiert wäre, und Python 2 und Python 3 sich doch an 
einigen stellen sehr unterscheiden, und es sehr wahrscheinlich ist, das 
in deinen kopierten Python 3 Modulen Syntax vorkommt, die der Python 2 
interpreter nicht versteht, so das du die kopierten Module dann nochmal 
anpassen müsstest, bis das läuft.
Das kann man so machen, aber dann hast du wirklich das, was Linux so 
oft vorgeworfen und nachgeschriene wird: frickelei!

Installier einfach Python 3 und dann ist alles schick.
Das sollte in etwa so aussehen:
1
apt-get install python3

von Michael K. (michael_k512)


Lesenswert?

Hallo,

auf meiner Distribution von Raspbian war Python 3 schon drauf. Ich habe 
am Anfang meines Scriptes jetzt noch
1
 #!/usr/bin/env python3

vorangestellt und damit ziemlich gute Resultate erzielt.

Ich denke ich werde es dabei belassen bis das nächste Problem auftaucht.


Danke für die Hilfe an alle!!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.