Seite 1 von 2

Python Bibliotheken einbinden

Verfasst: 30 Jun 2020, 18:26
von XyBrot
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

Re: Python Bibliotheken einbinden

Verfasst: 30 Jun 2020, 20:35
von DaGro
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):

Code: Alles auswählen

pip3 install Mqtt
falls das nicht funktioniert kannst du auch

Code: Alles auswählen

pip install Mqtt
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

Code: Alles auswählen

sudo apt install python3-pip
funktioniert, nicht, da er weder apt noch apt-get als Befehl erkennt. Welchen Package-Manager nutzt die CFW denn?

Re: Python Bibliotheken einbinden

Verfasst: 02 Jul 2020, 09:33
von tintenfisch
Hallo Daniel,
DaGro hat geschrieben:
30 Jun 2020, 20:35
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
funktioniert, nicht, da er weder apt noch apt-get als Befehl erkennt. Welchen Package-Manager nutzt die CFW denn?
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.

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

Re: Python Bibliotheken einbinden

Verfasst: 02 Jul 2020, 13:08
von tintenfisch
XyBrot hat geschrieben:
30 Jun 2020, 18:26
[...]
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?
Leider nicht, die Packages müssen beim Erstellen des Images bekannt sein und können nachträglich nicht installiert werden.

XyBrot hat geschrieben:
30 Jun 2020, 18:26
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.
Ich hatte gehofft, dass einer der Core cfw-Entwickler darauf einsteigt, aber ich versuche es mal und beschreibe das grundsätzliche Vorgehen:

1. Du erstellst einen Clone der cfw

Code: Alles auswählen

git clone https://github.com/ftCommunity/ftcommunity-TXT.git
2. 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

cd ftcommunity-TXT
make
3. Kaffeetrinken gehen, mit dem Hund raus, Wohnung aufräumen oder mal wieder die Eltern anrufen, das dauert nämlich etwas
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
9. Ersetze in der python-paho-mqtt.mk den String "SEMANTIC_VERSION" durch "PAHOMQTT" und kopiere die PyPI URL in PYTHON_PAHOMQTT_SITE

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))
10. Gehe zurück in in das ftcommunity-TXT-Verzeichnis und füge

Code: Alles auswählen

source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/python-pahomqtt/Config.in"
zur "Config.in" hinzu, die Du in dem Verzeichnis findest.

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

Re: Python Bibliotheken einbinden

Verfasst: 02 Jul 2020, 14:58
von MasterOfGizmo
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.

Re: Python Bibliotheken einbinden

Verfasst: 02 Jul 2020, 18:47
von Torsten
Hallo,
XyBrot hat geschrieben:
30 Jun 2020, 18:26
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).
[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.]

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 :-)

Viele Grüße
Torsten

Re: Python Bibliotheken einbinden

Verfasst: 19 Aug 2020, 13:59
von XyBrot
tintenfisch hat geschrieben:
02 Jul 2020, 13:08
XyBrot hat geschrieben:
30 Jun 2020, 18:26
[...]
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?
Leider nicht, die Packages müssen beim Erstellen des Images bekannt sein und können nachträglich nicht installiert werden.

XyBrot hat geschrieben:
30 Jun 2020, 18:26
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.
Ich hatte gehofft, dass einer der Core cfw-Entwickler darauf einsteigt, aber ich versuche es mal und beschreibe das grundsätzliche Vorgehen:

1. Du erstellst einen Clone der cfw

Code: Alles auswählen

git clone https://github.com/ftCommunity/ftcommunity-TXT.git
2. 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

cd ftcommunity-TXT
make
3. Kaffeetrinken gehen, mit dem Hund raus, Wohnung aufräumen oder mal wieder die Eltern anrufen, das dauert nämlich etwas
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
9. Ersetze in der python-paho-mqtt.mk den String "SEMANTIC_VERSION" durch "PAHOMQTT" und kopiere die PyPI URL in PYTHON_PAHOMQTT_SITE

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))
10. Gehe zurück in in das ftcommunity-TXT-Verzeichnis und füge

Code: Alles auswählen

source "$BR2_EXTERNAL_FTCOMMUNITY_TXT_PATH/package/python-pahomqtt/Config.in"
zur "Config.in" hinzu, die Du in dem Verzeichnis findest.

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
Hallo 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

Re: Python Bibliotheken einbinden

Verfasst: 19 Aug 2020, 16:07
von MasterOfGizmo
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 ...

Re: Python Bibliotheken einbinden

Verfasst: 03 Jul 2023, 08:52
von kräml
Hallo,

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
Hier der Inhalt der Dateien Config.in und dem Python Modul Jedi auf meiner Maschine:

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))
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

Re: Python Bibliotheken einbinden

Verfasst: 03 Jul 2023, 09:09
von hypnotoad
XyBrot hat geschrieben:
30 Jun 2020, 18:26
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

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

Verfasst: 03 Jul 2023, 10:10
von kräml
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

Code: Alles auswählen

pip install --user jedi
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

Re: Python Bibliotheken einbinden

Verfasst: 03 Jul 2023, 18:25
von hypnotoad
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:

Code: Alles auswählen

make config
cd output/build/rootfs/
make menuconfig
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

Code: Alles auswählen

make savedefconfig
wird die Konfiguration ins ftc-git zurückgeschrieben, so dass ein MR erstellt werden kann.

Re: Python Bibliotheken einbinden

Verfasst: 03 Jul 2023, 18:30
von hypnotoad
PS: PAHO_MQTT ist in der aktuellen CFW bereits installiert, readline kommt bald.

Re: Python Bibliotheken einbinden

Verfasst: 03 Jul 2023, 20:25
von kräml
hypnotoad hat geschrieben:
03 Jul 2023, 18:25
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:
OK, bin auf dem Tag v1.0.3. Werde ich mal auf master ändern.
hypnotoad hat geschrieben:
03 Jul 2023, 18:25

Code: Alles auswählen

make config
cd
make menuconfig
Das wechselt ins Homeverzeichnis. Das verstehe ich hier nicht.
Denke

Code: Alles auswählen

make config
und

Code: Alles auswählen

make menuconfig
machen das gleiche, oder? Das eine auf der Konsole, das andere als Konsolenmenü. Beide ausführen? Macht das Sinn? Oder wohin sollte ich mit cd wechseln?
hypnotoad hat geschrieben:
03 Jul 2023, 18:25

Code: Alles auswählen

make savedefconfig
wird die Konfiguration ins ftc-git zurückgeschrieben, so dass ein MR erstellt werden kann.
In welchem Ordner? Ich vermute in buildroot.

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

Re: Python Bibliotheken einbinden

Verfasst: 03 Jul 2023, 20:39
von hypnotoad
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 .

Re: Python Bibliotheken einbinden

Verfasst: 03 Jul 2023, 20:52
von kräml
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

Re: Python Bibliotheken einbinden

Verfasst: 03 Jul 2023, 21:20
von hypnotoad
So ein Mist...
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.
Die schnelle Lösung:

Code: Alles auswählen

cd buildroot
git fetch origin
git cherry-pick ef95ec920cbae32e5a525d887b7a279440d96f11

Re: Python Bibliotheken einbinden

Verfasst: 04 Jul 2023, 22:25
von kräml
Hallo,

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
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

Re: Python Bibliotheken einbinden

Verfasst: 05 Jul 2023, 13:47
von kräml
Hallo,

meine selbst erstellte CFW läuft. Danke für die Infos.

Gruß Kräml

Re: Python Bibliotheken einbinden

Verfasst: 05 Jul 2023, 20:43
von hypnotoad
Super! Das savedefconfig ist übrigens nur nötig, wenn Du Änderungen in einen PR übernehmen möchtest.