Python Bibliotheken einbinden
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
Python Bibliotheken einbinden
Hallo zusammen,
wir haben uns die FT Lernfabrik 4.0 zugelegt und sind dabei die Programme der TXTs mit Python neu aufzuziehen.
Hierfür haben wir auf jedem TXT die CFW installiert. Nun benötigen wir allerdings noch weitere python Bibliotheken, die standartmäßig auf den TXTs noch nicht installiert sind (zb. Mqtt.paho).
Gibt es eine Möglichkeit, diese auf den TXTs noch nachträglich zu installieren?
Ich habe in einem anderen Forenbeitrag von 2017 gelesen, dass es möglich ist die CFW selbständig aufzusetzten und da dann die benötigten Bibliotheken einzubinden. Jedoch entzieht sich meinem Verständnis, wie ich dabei vorgehen muss, da ich noch recht neu in diesem Themengebiet bin.
Wäre nett, wenn mir jemand weiterhelfen könnte
Viele Grüße
wir haben uns die FT Lernfabrik 4.0 zugelegt und sind dabei die Programme der TXTs mit Python neu aufzuziehen.
Hierfür haben wir auf jedem TXT die CFW installiert. Nun benötigen wir allerdings noch weitere python Bibliotheken, die standartmäßig auf den TXTs noch nicht installiert sind (zb. Mqtt.paho).
Gibt es eine Möglichkeit, diese auf den TXTs noch nachträglich zu installieren?
Ich habe in einem anderen Forenbeitrag von 2017 gelesen, dass es möglich ist die CFW selbständig aufzusetzten und da dann die benötigten Bibliotheken einzubinden. Jedoch entzieht sich meinem Verständnis, wie ich dabei vorgehen muss, da ich noch recht neu in diesem Themengebiet bin.
Wäre nett, wenn mir jemand weiterhelfen könnte
Viele Grüße
Re: Python Bibliotheken einbinden
Hi, willkommen hier im Forum.
Beim TXT sollte das Python-Bibliotheken installieren relatiiv gleich, wie auf einem PC im Terminal funktionieren. Du kannst dich Über ssh mit dem TXT verbinden und dann sollte folgender Befehl eigentlich die Bibliothek installieren (vorausgesetzt, der TXT ist mit dem Wlan verbunden): falls das nicht funktioniert kannst du auch ausprobieren. Wenn das beides nicht geht kannst du dich ja noch einmal melden. Ein paar Tipps zum verbinden über SSH und python programmieren findest du auf dieser Website: cfw.ftcommunity.de
Falls du dabei irgendwelche Probleme hast, melde dich noch einmal, Ich konnte die Schritte grade nicht ausprobieren, aber eigentlich sollte das gehen
LG Daniel
PS: Ich habe das gerade bei meinem TXT selbst probiert, stelle aber fest, dass dieser weder pip noch pip3 findet. Auch funktioniert, nicht, da er weder apt noch apt-get als Befehl erkennt. Welchen Package-Manager nutzt die CFW denn?
Beim TXT sollte das Python-Bibliotheken installieren relatiiv gleich, wie auf einem PC im Terminal funktionieren. Du kannst dich Über ssh mit dem TXT verbinden und dann sollte folgender Befehl eigentlich die Bibliothek installieren (vorausgesetzt, der TXT ist mit dem Wlan verbunden):
Code: Alles auswählen
pip3 install Mqtt
Code: Alles auswählen
pip install Mqtt
Falls du dabei irgendwelche Probleme hast, melde dich noch einmal, Ich konnte die Schritte grade nicht ausprobieren, aber eigentlich sollte das gehen
![Lächeln :)](./images/smilies/icon_e_smile.gif)
LG Daniel
PS: Ich habe das gerade bei meinem TXT selbst probiert, stelle aber fest, dass dieser weder pip noch pip3 findet. Auch
Code: Alles auswählen
sudo apt install python3-pip
Alle sagten: Das geht nicht. Dann kam einer der das nicht wusste und hat es einfach gemacht.
-
- Beiträge: 472
- Registriert: 03 Jan 2018, 22:04
Re: Python Bibliotheken einbinden
Hallo Daniel,
Der TX-Pi https://tx-pi.de/, der auf dem Raspberry Pi mit Raspbian setzt, unterstützt hingegen nachträgliche Änderungen am System. D.h. es können neben beliebigen Debian-Paketen auch Python-Pakete installiert werden; der Anwender nutzt ein normales Raspbian auf dem die cfw läuft.
Aber dies nützt dem Fragesteller natürlich nix, wenn er die bestehenden TXTs aufrüsten möchte; ich versuche in einem weiteren Beitrag das Vorgehen zu beschreiben.
Viele Grüße
Lars
Die cfw nutzt buildroot um die Distribution zu erstellen. Dort müssen alle Pakete, die zur Verfügung stehen sollen, im voraus bekannt sein, eine nachträgliche Installation ist nicht möglich.DaGro hat geschrieben: ↑30 Jun 2020, 20:35PS: Ich habe das gerade bei meinem TXT selbst probiert, stelle aber fest, dass dieser weder pip noch pip3 findet. Auchfunktioniert, nicht, da er weder apt noch apt-get als Befehl erkennt. Welchen Package-Manager nutzt die CFW denn?Code: Alles auswählen
sudo apt install python3-pip
Der TX-Pi https://tx-pi.de/, der auf dem Raspberry Pi mit Raspbian setzt, unterstützt hingegen nachträgliche Änderungen am System. D.h. es können neben beliebigen Debian-Paketen auch Python-Pakete installiert werden; der Anwender nutzt ein normales Raspbian auf dem die cfw läuft.
Aber dies nützt dem Fragesteller natürlich nix, wenn er die bestehenden TXTs aufrüsten möchte; ich versuche in einem weiteren Beitrag das Vorgehen zu beschreiben.
Viele Grüße
Lars
-
- Beiträge: 472
- Registriert: 03 Jan 2018, 22:04
Re: Python Bibliotheken einbinden
Leider nicht, die Packages müssen beim Erstellen des Images bekannt sein und können nachträglich nicht installiert werden.
Ich hatte gehofft, dass einer der Core cfw-Entwickler darauf einsteigt, aber ich versuche es mal und beschreibe das grundsätzliche Vorgehen:XyBrot hat geschrieben: ↑30 Jun 2020, 18:26Ich habe in einem anderen Forenbeitrag von 2017 gelesen, dass es möglich ist die CFW selbständig aufzusetzten und da dann die benötigten Bibliotheken einzubinden. Jedoch entzieht sich meinem Verständnis, wie ich dabei vorgehen muss, da ich noch recht neu in diesem Themengebiet bin.
1. Du erstellst einen Clone der cfw
Code: Alles auswählen
git clone https://github.com/ftCommunity/ftcommunity-TXT.git
Code: Alles auswählen
cd ftcommunity-TXT
make
4. Du suchst Dir unter https://pypi.org das zu installierende Package heraus und dann die Download URL.
Im Falle von https://pypi.org/project/paho-mqtt/ wäre dies https://files.pythonhosted.org/packages ... 5.0.tar.gz
Ferner kopierst Du Dir einen der Hashwerte, die dort angegeben sind, bspw. den sha256
5. Erstelle ein Verzeichnis in packages, bspw. "python-pahomqtt"
6. Kopiere eine Vorlage bspw. "Config.in" und "python-semantik-versions.mk", die Du in python-semantic-version findest, in das vorgenannte Verzeichnis.
Benenne "python-semantik-versions.mk" in "python-paho-mqtt.mk" um.
7. Öffne Config.in und ersetze "BR2_PACKAGE_PYTHON_SEMANTIC_VERSION" bspw. durch "BR2_PACKAGE_PYTHON_PAHOMQTT", den Wert bei "bool" ersetzt Du bspw. durch "python-pahomqtt"
8. Schreibe den zuvor kopierten Hash in eine Datei
Code: Alles auswählen
echo "sha256 e3d286198baaea195c8b3bc221941d25a3ab0e1507fc1779bdb7473806394be4 paho-mqtt-1.5.0.tar.gz" > ./package/python-pahomqtt/python-paho-mqtt.hash
Code: Alles auswählen
################################################################################
#
# python-paho-mqtt
#
################################################################################
PYTHON_PAHOMQTT_VERSION = 1.5.0
PYTHON_PAHOMQTT_SOURCE = paho-mqtt-$(PYTHON_PAHOMQTT_VERSION).tar.gz
PYTHON_PAHOMQTT_SITE = https://files.pythonhosted.org/packages/59/11/1dd5c70f0f27a88a3a05772cd95f6087ac479fac66d9c7752ee5e16ddbbc
PYTHON_PAHOMQTT_SETUP_TYPE = setuptools
PYTHON_PAHOMQTT_LICENSE = EPL
$(eval $(python-package))
Code: Alles auswählen
source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/python-pahomqtt/Config.in"
Dann führst Du nochmal ein make aus. Nun solltest Du gefragt werden, ob Du das eben erstellte Package hinzufügen möchtest, das mit "y" bejahen und dann sollte das Image mit dem zusätzlichen Python-Package erstellt werden.
Viel Erfolg,
Lars
- MasterOfGizmo
- Beiträge: 2720
- Registriert: 30 Nov 2014, 07:44
Re: Python Bibliotheken einbinden
Vielen Dank für die Antwort. In der Tat habe ich das auch alles mal gewusst und verwendet, aber das ist so lange her, dass ich es weitgehend vergessen habe.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32
Re: Python Bibliotheken einbinden
Hallo,
Egal, ob ihr die cfw oder die original Firmware verwendet habe ich hier ein paar Tips/Infos für Euch:
1. In der Lernfabrik wird von der Master-Slave-Funktion gebrauch gemacht, bei der ein TXT als Extension an einem anderen TXT (Master) hängt. ftrobopy hat den Extension-Support erst seit der Version 1.92 eingebaut und befindet sich noch im Beta-Stadium, weil er noch nicht ausgiebig getestet wurde.
2. Der Extension-Support von ftrobopy ist bisher nur im Socket-Modus (nicht im 'direct'-Modus) implementiert und ist recht langsam, da der dafür notwendige Kompressionsalgorhythmus in Python implementiert ist.
3. Seit der ftrobopy-Version 1.94 wird der sog. TransferArea-Mode (TA) von fischertechnik unterstützt, der deutlich schneller ist als der Socket-Modus, da hierbei die (in C/C++ geschriebene) fischertechnik-Bibliothek verwendet wird. Im TA-Modus wird auch die Extension unterstützt. Aber: sowohl der TA-Modus als auch der Extension-Modus von ftrobopy sind noch nicht vollständig. (Anmerkung: der TA-Modus ist der native Offline-Modus des TXT, bzw. von ROBOPro)
4. Die Verwendung des TA-Modus von ftrobopy unter der cfw setzt auf jeden Fall voraus, dass die FT-GUI vorher gestartet wurde. Ich habe diesen Fall jedoch nie ausprobiert und kann nicht garantieren, dass das funktioniert. Insbesondere gibt es derzeit noch Probleme mit der FT-GUI unter der cfw, wenn auf dem TXT die original FW 4.6.6 installiert ist (fischertechnik hat hier einige Pfade geändert).
5. Um unabhängig von der Master/Slave Funktion zu sein, könntet Ihr auch alle 6 TXTs der Lernfabrik einzeln in ein WLAN hängen und über die Sockets ansprechen (entweder von einem der TXTs oder von einem PC, der im gleichen Netz häng).
Die Umstellung der Lernfabrik auf Python ist ein anspruchsvolles und spannendes Projekt und ich hoffe, Ihr haltet uns hier auf dem Laufenden über Eure Fortschritte ... und Fragen könnt ihr hier natürlich auch stellen![Lächeln :-)](./images/smilies/icon_e_smile.gif)
Viele Grüße
Torsten
[eine kleine Anmerkung: da die original fischertechnik Firmware (ab Version 4.6.6) alle notwendigen Bibliotheken (inklusive Python und ftrobopy) schon mitbringt, könntet Ihr die Lernfabrik auch damit auf Python umstellen.]XyBrot hat geschrieben: ↑30 Jun 2020, 18:26wir haben uns die FT Lernfabrik 4.0 zugelegt und sind dabei die Programme der TXTs mit Python neu aufzuziehen.
Hierfür haben wir auf jedem TXT die CFW installiert. Nun benötigen wir allerdings noch weitere python Bibliotheken, die standartmäßig auf den TXTs noch nicht installiert sind (zb. Mqtt.paho).
Egal, ob ihr die cfw oder die original Firmware verwendet habe ich hier ein paar Tips/Infos für Euch:
1. In der Lernfabrik wird von der Master-Slave-Funktion gebrauch gemacht, bei der ein TXT als Extension an einem anderen TXT (Master) hängt. ftrobopy hat den Extension-Support erst seit der Version 1.92 eingebaut und befindet sich noch im Beta-Stadium, weil er noch nicht ausgiebig getestet wurde.
2. Der Extension-Support von ftrobopy ist bisher nur im Socket-Modus (nicht im 'direct'-Modus) implementiert und ist recht langsam, da der dafür notwendige Kompressionsalgorhythmus in Python implementiert ist.
3. Seit der ftrobopy-Version 1.94 wird der sog. TransferArea-Mode (TA) von fischertechnik unterstützt, der deutlich schneller ist als der Socket-Modus, da hierbei die (in C/C++ geschriebene) fischertechnik-Bibliothek verwendet wird. Im TA-Modus wird auch die Extension unterstützt. Aber: sowohl der TA-Modus als auch der Extension-Modus von ftrobopy sind noch nicht vollständig. (Anmerkung: der TA-Modus ist der native Offline-Modus des TXT, bzw. von ROBOPro)
4. Die Verwendung des TA-Modus von ftrobopy unter der cfw setzt auf jeden Fall voraus, dass die FT-GUI vorher gestartet wurde. Ich habe diesen Fall jedoch nie ausprobiert und kann nicht garantieren, dass das funktioniert. Insbesondere gibt es derzeit noch Probleme mit der FT-GUI unter der cfw, wenn auf dem TXT die original FW 4.6.6 installiert ist (fischertechnik hat hier einige Pfade geändert).
5. Um unabhängig von der Master/Slave Funktion zu sein, könntet Ihr auch alle 6 TXTs der Lernfabrik einzeln in ein WLAN hängen und über die Sockets ansprechen (entweder von einem der TXTs oder von einem PC, der im gleichen Netz häng).
Die Umstellung der Lernfabrik auf Python ist ein anspruchsvolles und spannendes Projekt und ich hoffe, Ihr haltet uns hier auf dem Laufenden über Eure Fortschritte ... und Fragen könnt ihr hier natürlich auch stellen
![Lächeln :-)](./images/smilies/icon_e_smile.gif)
Viele Grüße
Torsten
Re: Python Bibliotheken einbinden
Hallo Lars,tintenfisch hat geschrieben: ↑02 Jul 2020, 13:08Leider nicht, die Packages müssen beim Erstellen des Images bekannt sein und können nachträglich nicht installiert werden.
Ich hatte gehofft, dass einer der Core cfw-Entwickler darauf einsteigt, aber ich versuche es mal und beschreibe das grundsätzliche Vorgehen:XyBrot hat geschrieben: ↑30 Jun 2020, 18:26Ich habe in einem anderen Forenbeitrag von 2017 gelesen, dass es möglich ist die CFW selbständig aufzusetzten und da dann die benötigten Bibliotheken einzubinden. Jedoch entzieht sich meinem Verständnis, wie ich dabei vorgehen muss, da ich noch recht neu in diesem Themengebiet bin.
1. Du erstellst einen Clone der cfw2. Einen Build starten. Ich weiß nicht, ob das zu diesem Zeitpunkt notwendig ist, aber halte ich für sinnvoll, da dann auch buildroot und alle weiteren benötigten Quellen geruntergeladen werden. Zudem kann man dann erkennen, ob der Build überhaupt funktioniert.Code: Alles auswählen
git clone https://github.com/ftCommunity/ftcommunity-TXT.git
3. Kaffeetrinken gehen, mit dem Hund raus, Wohnung aufräumen oder mal wieder die Eltern anrufen, das dauert nämlich etwasCode: Alles auswählen
cd ftcommunity-TXT make
4. Du suchst Dir unter https://pypi.org das zu installierende Package heraus und dann die Download URL.
Im Falle von https://pypi.org/project/paho-mqtt/ wäre dies https://files.pythonhosted.org/packages ... 5.0.tar.gz
Ferner kopierst Du Dir einen der Hashwerte, die dort angegeben sind, bspw. den sha256
5. Erstelle ein Verzeichnis in packages, bspw. "python-pahomqtt"
6. Kopiere eine Vorlage bspw. "Config.in" und "python-semantik-versions.mk", die Du in python-semantic-version findest, in das vorgenannte Verzeichnis.
Benenne "python-semantik-versions.mk" in "python-paho-mqtt.mk" um.
7. Öffne Config.in und ersetze "BR2_PACKAGE_PYTHON_SEMANTIC_VERSION" bspw. durch "BR2_PACKAGE_PYTHON_PAHOMQTT", den Wert bei "bool" ersetzt Du bspw. durch "python-pahomqtt"
8. Schreibe den zuvor kopierten Hash in eine Datei9. Ersetze in der python-paho-mqtt.mk den String "SEMANTIC_VERSION" durch "PAHOMQTT" und kopiere die PyPI URL in PYTHON_PAHOMQTT_SITECode: Alles auswählen
echo "sha256 e3d286198baaea195c8b3bc221941d25a3ab0e1507fc1779bdb7473806394be4 paho-mqtt-1.5.0.tar.gz" > ./package/python-pahomqtt/python-paho-mqtt.hash
10. Gehe zurück in in das ftcommunity-TXT-Verzeichnis und fügeCode: Alles auswählen
################################################################################ # # python-paho-mqtt # ################################################################################ PYTHON_PAHOMQTT_VERSION = 1.5.0 PYTHON_PAHOMQTT_SOURCE = paho-mqtt-$(PYTHON_PAHOMQTT_VERSION).tar.gz PYTHON_PAHOMQTT_SITE = https://files.pythonhosted.org/packages/59/11/1dd5c70f0f27a88a3a05772cd95f6087ac479fac66d9c7752ee5e16ddbbc PYTHON_PAHOMQTT_SETUP_TYPE = setuptools PYTHON_PAHOMQTT_LICENSE = EPL $(eval $(python-package))
zur "Config.in" hinzu, die Du in dem Verzeichnis findest.Code: Alles auswählen
source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/python-pahomqtt/Config.in"
Dann führst Du nochmal ein make aus. Nun solltest Du gefragt werden, ob Du das eben erstellte Package hinzufügen möchtest, das mit "y" bejahen und dann sollte das Image mit dem zusätzlichen Python-Package erstellt werden.
Viel Erfolg,
Lars
erst mal vielen Dank für die Infos. Der Build war dann doch umfangreicher als gedacht. Es gab viele Fehler zu beheben durch Einbinden zusätzlicher Patches, editieren einzelner Dateien etc. (Google war mein Freund)
Nun wollte ich nach deiner Anleitung weiter vorgehen. Der Build startet wie zuvor er geht allerdings direkt zum Schritt "Finalizing target directory" über.
Die nach deiner Anleitung hinzugefügten Pakete werden also nicht heruntergeladen und der Build wird direkt finalisiert.
Ich hoffe du kannst mir womöglich noch einmal weiterhelfen.
Beste Grüße
Philipp
- MasterOfGizmo
- Beiträge: 2720
- Registriert: 30 Nov 2014, 07:44
Re: Python Bibliotheken einbinden
Du kannst wenn ich mich recht erinnere das gesamte "build"-Unterverzeichnis löschen oder "make clean" verwenden und dann einen komplett neuen Bauprozess starten. Das war bei mir damals auch öfter nötig, weil das Build-System irgendwelche Abhängigkeiten nicht erkannt hat und dann sofort "fertig" war.
Es gibt m.E. auch make-Targets, die den Zustand einzelner Packages zurücksetzen etc ...
Es gibt m.E. auch make-Targets, die den Zustand einzelner Packages zurücksetzen etc ...
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32
Re: Python Bibliotheken einbinden
Hallo,
danke für die Anleitung. Hab die zehn Schritte so weit durchgeführt. Leider bekomme ich eine Fehlermeldung:
Hier der Inhalt der Dateien Config.in und dem Python Modul Jedi auf meiner Maschine:
Hab leider keine Idee. Denn die Angaben sind ja korrekt. Sollten aber nur einmal vorkommen.
Ach ja, mein System ist Ubuntu 20.04.
Wie gesagt, der erste make läuft schön durch. Die Erweiterung rein, mit dem zweiten make kommt die Fehlermeldung. Auch ein make clean hat nichts geholfen.
Bin gespannt auf euere Antworten.
Gruß Kräml
danke für die Anleitung. Hab die zehn Schritte so weit durchgeführt. Leider bekomme ich eine Fehlermeldung:
Code: Alles auswählen
make
make -C buildroot
make[1]: Verzeichnis „/home/USER/Dokumente/Freizeit/Fischertechnik/ftcommunity-TXT/buildroot“ wird betreten
/home/USER/Dokumente/Freizeit/Fischertechnik/ftcommunity-TXT/package/python-jedi/python-jedi.mk:13: *** Package 'python-jedi' defined a second time in '/home/michl/Dokumente/Freizeit/Fischertechnik/ftcommunity-TXT/package/python-jedi/'; previous definition was in 'package/python-jedi/'. Schluss.
make[1]: *** [Makefile:84: _all] Fehler 2
make[1]: Verzeichnis „/home/USER/Dokumente/Freizeit/Fischertechnik/ftcommunity-TXT/buildroot“ wird verlassen
make: *** [Makefile:3: all] Fehler 2
Code: Alles auswählen
for file in Config.in package/python-jedi/*; do echo "=== $file ==="; cat "$file"; echo ""; done
=== Config.in ===
source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/ft_bt_remote_server/Config.in"
source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/libroboint/Config.in"
source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/python-ftrobopy/Config.in"
source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/python-fttxpy/Config.in"
source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/python-libroboint/Config.in"
source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/python-lumacore/Config.in"
source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/python-lumaled_matrix/Config.in"
source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/python-lumaoled/Config.in"
source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/python-pandas/Config.in"
source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/python-robolt/Config.in"
source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/python-semantic-version1/Config.in"
source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/python-smbus2/Config.in"
source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/python-zbarlight/Config.in"
source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/python-jedi/Config.in"
=== package/python-jedi/Config.in ===
config BR2_PACKAGE_PYTHON_JEDI
bool "python-jedi"
depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
help
Jedi is a static analysis tool for Python that is typically used in IDEs/editors plugins.
https://pypi.org/project/jedi
=== package/python-jedi/python-jedi.hash ===
sha256 bae794c30d07f6d910d32a7048af09b5a39ed740918da923c6b780790ebac612 jedi-0.18.2.tar.gz
=== package/python-jedi/python-jedi.mk ===
################################################################################
#
# python-jedi
#
################################################################################
PYTHON_JEDI_VERSION = 0.18.12
PYTHON_JEDI_SOURCE = jedi-$(PYTHON_JEDI_VERSION).tar.gz
PYTHON_JEDI_SITE = https://files.pythonhosted.org/packages/15/02/afd43c5066de05f6b3188f3aa74136a3289e6c30e7a45f351546cab0928c/jedi-0.18.2.tar.gz
PYTHON_JEDI_SETUP_TYPE = setuptools
PYTHON_JEDI_LICENSE = MIT
$(eval $(python-package))
Ach ja, mein System ist Ubuntu 20.04.
Wie gesagt, der erste make läuft schön durch. Die Erweiterung rein, mit dem zweiten make kommt die Fehlermeldung. Auch ein make clean hat nichts geholfen.
Bin gespannt auf euere Antworten.
Gruß Kräml
Re: Python Bibliotheken einbinden
XyBrot hat geschrieben: ↑30 Jun 2020, 18:26Hallo zusammen,
wir haben uns die FT Lernfabrik 4.0 zugelegt und sind dabei die Programme der TXTs mit Python neu aufzuziehen.
Hierfür haben wir auf jedem TXT die CFW installiert. Nun benötigen wir allerdings noch weitere python Bibliotheken, die standartmäßig auf den TXTs noch nicht installiert sind (zb. Mqtt.paho).
Gibt es eine Möglichkeit, diese auf den TXTs noch nachträglich zu installieren?
Ich habe in einem anderen Forenbeitrag von 2017 gelesen, dass es möglich ist die CFW selbständig aufzusetzten und da dann die benötigten Bibliotheken einzubinden. Jedoch entzieht sich meinem Verständnis, wie ich dabei vorgehen muss, da ich noch recht neu in diesem Themengebiet bin.
Wäre nett, wenn mir jemand weiterhelfen könnte
Viele Grüße
Hallo,
ich kümmere mich aktuell um die CFW. Zusätzlich zu Deinem Versuch, die Pakete in die CFW zu kompilieren, könntest Du noch versuchen, sie nachträglich mit "pip" zu installieren, das ist in der aktuellen CFW inzwischen vorhanden.
Zu Deinem python-jedi-Problem: Bitte versuche zunächst, es über "make menuconfig" im buildroot-Verzeichnis hinzuzufügen, ohne dass Du zusätzlich im package-Verzeichnis etwas machst. Das sollte eigentlich funktionieren. Wir können das gerne standardmässig (wie auch mqtt) in der CFW hinzufügen.
lg,
Ralf
Re: Python Bibliotheken einbinden
Hallo Ralf,
bin mir nicht ganz sicher, ob die Antwort an mich oder an XYBrot gerichtet war. Sie passt aber, daher hier meine Antwort.
Hab mit das Modul eingebunden. Hat so weit geklappt (danke für pip). Das mit den Python-Modulen einbinden war eigentlich nur eine Fingerübung. Will heißen, hätte noch gerne das Linux-Paket readline und das Python Module readline (oder auch gnureadline mal sehen) eingebunden. Leider kann man nachträglich keine Linux-Pakete installieren. Also hab noch keinen Weg gefunden, außer das selber erstellen der cfw.
Würde daher gerne die Schritte und die Fehlermeldung nachvollziehen können. Würde dann auch einen issue oder pull request auf github einreichen.
Ach ja FETTES Danke für deine Arbeit an der CFW.
Nachtrag: menuconfig dauert jetzt ein bischen. Mache ein make clean und dann ...
Kräml
bin mir nicht ganz sicher, ob die Antwort an mich oder an XYBrot gerichtet war. Sie passt aber, daher hier meine Antwort.
Hab mit
Code: Alles auswählen
pip install --user jedi
Würde daher gerne die Schritte und die Fehlermeldung nachvollziehen können. Würde dann auch einen issue oder pull request auf github einreichen.
Ach ja FETTES Danke für deine Arbeit an der CFW.
Nachtrag: menuconfig dauert jetzt ein bischen. Mache ein make clean und dann ...
Kräml
Re: Python Bibliotheken einbinden
Hallo,
es ändert sich gerade die Build-Struktur, im master ist es deswegen etwas anders. Der einfachste Weg für zusätzliche Python-Pakete ist es, die von buildroot zu verwenden. Dazu:
Dann mit / suchen, z.B. nach MQTT. Da wird dann BR2_PACKAGE_PYTHON_PAHO_MQTT angezeigt. Die Location merken, im Menü dorthin navigieren und den Punkt anwählen und mit save speichern. Man kann auch die .config-Datei direkt bearbeiten, dann werden Abhängigkeiten aber ggf. nicht richtig bereinigt. Mit
wird die Konfiguration ins ftc-git zurückgeschrieben, so dass ein MR erstellt werden kann.
es ändert sich gerade die Build-Struktur, im master ist es deswegen etwas anders. Der einfachste Weg für zusätzliche Python-Pakete ist es, die von buildroot zu verwenden. Dazu:
Code: Alles auswählen
make config
cd output/build/rootfs/
make menuconfig
Code: Alles auswählen
make savedefconfig
Zuletzt geändert von hypnotoad am 03 Jul 2023, 20:37, insgesamt 1-mal geändert.
Re: Python Bibliotheken einbinden
PS: PAHO_MQTT ist in der aktuellen CFW bereits installiert, readline kommt bald.
Re: Python Bibliotheken einbinden
OK, bin auf dem Tag v1.0.3. Werde ich mal auf master ändern.
Das
Code: Alles auswählen
cd
Denke
Code: Alles auswählen
make config
Code: Alles auswählen
make menuconfig
In welchem Ordner? Ich vermute in buildroot.hypnotoad hat geschrieben: ↑03 Jul 2023, 18:25wird die Konfiguration ins ftc-git zurückgeschrieben, so dass ein MR erstellt werden kann.Code: Alles auswählen
make savedefconfig
Werde mich weiter durch wursteln. Wechsel erstmal auf master.
Danke für die Infos.
Noch eine Anmerkung. Die URL https://distfiles.dereferenced.org/pkgc ... 6.3.tar.xz scheint down zu sein.
Kräml
Zuletzt geändert von kräml am 03 Jul 2023, 20:49, insgesamt 1-mal geändert.
Re: Python Bibliotheken einbinden
Hallo Kräml,
bei "cd "oben ist das Verzeichnis verlorengegangen. Ich habe es jetzt korrigiert.
Das erste "make config" erstellt den output-Ordner und die buildroot-Konfiguration, das "make menuconfig" erlaubt, die buildroot-Konfiguration zu bearbeiten. Die zurückgeschriebene Konfiguration wäre dann im ftcommunity-Verzeichnisbaum, so dass ein PR/MR erzeugt werden kann.
Readline ist wirklich nützlich, deswegen habe ich bereits einen MR erzeugt: https://github.com/ftCommunity/ftcommunity-TXT/pull/282 .
bei "cd "oben ist das Verzeichnis verlorengegangen. Ich habe es jetzt korrigiert.
Das erste "make config" erstellt den output-Ordner und die buildroot-Konfiguration, das "make menuconfig" erlaubt, die buildroot-Konfiguration zu bearbeiten. Die zurückgeschriebene Konfiguration wäre dann im ftcommunity-Verzeichnisbaum, so dass ein PR/MR erzeugt werden kann.
Readline ist wirklich nützlich, deswegen habe ich bereits einen MR erzeugt: https://github.com/ftCommunity/ftcommunity-TXT/pull/282 .
Re: Python Bibliotheken einbinden
Hallo, hat sich mit deiner Antwort überschnitten.
Die URL https://distfiles.dereferenced.org/pkgc ... 6.3.tar.xz ist down. Bitte mal checken ob das anders geht.
Der Rest ist jetzt klar.
Kräml
Die URL https://distfiles.dereferenced.org/pkgc ... 6.3.tar.xz ist down. Bitte mal checken ob das anders geht.
Der Rest ist jetzt klar.
Kräml
Re: Python Bibliotheken einbinden
So ein Mist...
Die schnelle Lösung:Due to problems with the registrar (dynadot) [1], the dereferenced.org
domain got stolen and is up for auction. While sorting that out, the
official download site has changed to a different domain [2]. Update
PKGCONF_SITE to the new location.
Code: Alles auswählen
cd buildroot
git fetch origin
git cherry-pick ef95ec920cbae32e5a525d887b7a279440d96f11
Re: Python Bibliotheken einbinden
Hallo,
jetzt dauert es schon etwas länger. Lerne noch nebenbei Prometheus.
Hier mal meine vorläufige Zusammenfassung:
Hab jetzt so oft make clean und anderes gemacht, dass ich mir nicht sicher bin, ob dies die richtige Vorgehensweise ist. Der Buildprozess läuft noch bei mir.
Kräml
jetzt dauert es schon etwas länger. Lerne noch nebenbei Prometheus.
Hier mal meine vorläufige Zusammenfassung:
Code: Alles auswählen
git clone https://github.com/ftCommunity/ftcommunity-TXT.git
cd ftcommunity-TXT
make config
cd buildroot
git fetch origin
git cherry-pick ef95ec920cbae32e5a525d887b7a279440d96f11
cd ..
cd output/build/rootfs/
make menuconfig
# Installiere jedi oder was auch immer
make savedefconfig
cd ../../../
make
Kräml
Re: Python Bibliotheken einbinden
Hallo,
meine selbst erstellte CFW läuft. Danke für die Infos.
Gruß Kräml
meine selbst erstellte CFW läuft. Danke für die Infos.
Gruß Kräml
Re: Python Bibliotheken einbinden
Super! Das savedefconfig ist übrigens nur nötig, wenn Du Änderungen in einen PR übernehmen möchtest.