Closed u918244 closed 2 years ago
Moin,
kann es sein, dass du ein Problem mit Python 2.7 hast? Wir installieren im Install-Skript über pip den MySQL-Connector nach, da die alte Version kein UTF8MB4 unterstützt. Issue für die Korrektur des Installers: https://github.com/Schrolli91/BOSWatch/issues/445
Was gäbe es denn dazu an Hinweisen? Ich nutze ein reguläres DietPi mit Debian 10 Grundlage. Das Install-Script vom boswatch ist ohne Probleme durchgelaufen. Ich habe sogar noch einmal Python nachinstalliert mit apt-get -o DPkg::options::=--force-confmiss --reinstall install python Auch das hat nichts gebracht. Ich bekomme nach wie vor die Fehlermeldung beim Start mit in der config aktiviertem MySQL Plugin. Mein Python ist in Version Python 2.7.16 installiert. Was kann ich jetzt noch checken? Oder soll ich den Raspi noch einmal komplett neu aufsetzen? Ist doch ein Raspberry OS sinnvoll? Eigentlich gefällt mir DietPi so viel besser...
Probier mal die Datenbank direkt über Python anzusprechen: https://github.com/Schrolli91/BOSWatch/issues/472#issuecomment-682176131
Du kannst zu Fuß mal versuchen, die Datenbank zu kontaktieren, ohne das Skript. Alternativ kannst du vielleicht vergleichen, ob dir noch Python-Pakete fehlen. Auf einer zweiten SD-Karte Raspi OS installieren und im Nachgang vergleichen, was dir dpkg -l | grep python
und pip list
ausgibt.
Hmm, das manuelle Kontakten scheint auch nicht zu funktionieren: _Python 2.7.16 (default, Oct 10 2019, 22:02:15) [GCC 8.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information.
import mysql import mysql.connector Traceback (most recent call last): File "
", line 1, in File "/usr/local/lib/python2.7/dist-packages/mysql/connector/init.py", line 54, in from .connection import MySQLConnection File "/usr/local/lib/python2.7/dist-packages/mysql/connector/connection.py", line 451 f"This connection is using {tlsversion} which is now " ^ SyntaxError: invalid syntax
Langsam weiß ich nicht mehr weiter. Ich habe Python einem forced reinstall unterzogen und habe auch den mysql-connector gezwungen neu installiert. Keine Änderung.
Das sieht mir aber eher nach einem mySQL als nach einem Python-Problem aus; kannst du denn (als normaler User) auf die Datenbank zugreifen? Ohne Python, direkt Konsole? Wenn nein, müsste man sich mal mit dem Thema Sockets bei der Datenbank auseinandersetzen.
Von der Konsole aus kann ich auf die Datenbank problemlos zugreifen. Ein mittels phpmyadmin manuell angelegter Datensatz kann problemlos ausgegeben werden.
Du bist da aktuell als root eingeloggt. Geht das auch als "normaler" User?
Das Gleiche nochmal "in grün":
Der user boswatch wurde mit ganz normalen Benutzerrechten angelegt.
Bei einer Installation vom originalen Raspbian OS "Buster" kommt der gleiche Fehler wie oben beschrieben. Irgendwo scheint hier ein grundlegendes Problem zu liegen. Meine alten Installationen waren immer vor Buster und auch mit alten Versionen von boswatch. Insofern ist es jetzt schwierig, herauszufinden, auf welcher Seite der Fehler liegt. Kann den evtl. jemand nachvollziehen?
SOLVED: Folgende Vorgehensweise ergab (nach langer Netzrecherche) den für mein System helfenden Weg: Es sollte (gem. https://flutterq.com/solved-import-no-module-named-mysql-connector-using-python2/ ) nicht mit pip der mysql-connector-python installiert werden, sondern mit der Zeile pip install mysql-connector-python-rf dieser Connector. Das hat zumindest bei mir geholfen, das Plugin startet durch.
ERGÄNZUNG: Auch mit dem DietPi funktioniert es jetzt. Es gibt nur ein paar Stolpersteine:
Moin zusammen, ich nerve sehr ungern schon wieder, aber ich habe ein weiteres Problem mit boswatch. Nachdem ich eine Installation unter Debian 11 (DietPi) aufgegeben habe, habe ich jetzt das Debian 10 Image genommen.
Es ist mitinstalliert: lighttpd: lighttpd/1.4.53 (ssl) - a light and fast webserver MariaDB: mysql Ver 15.1 Distrib 10.3.31-MariaDB, for debian-linux-gnueabihf (armv8l) using readline 5.2 boswatch liegt vor als: SW Version: 2.5.2 Branch: master Build Date: 08.01.2021
Bei Nutzung ohne aktivierte Plugins läuft es mittlerweile gut.
Es wurde die benötigte DB eingerichtet und diese ist auch vom Benutzer "boswatch" auf dem localhost erreichbar. Beim Start von boswatch bekomme ich allerdings folgende Fehlermeldung: _25.10.2021 09:29:28 - pluginLoader [DEBUG ] load plugin: MySQL 25.10.2021 09:29:29 - pluginLoader [ERROR ] cannot load plugin: MySQL 25.10.2021 09:29:29 - pluginLoader [DEBUG ] cannot load plugin: MySQL Traceback (most recent call last): File "/opt/boswatch/includes/pluginLoader.py", line 106, in loadPlugin return imp.load_module(plugin["name"], plugin["info"]) File "/opt/boswatch/plugins/MySQL/MySQL.py", line 17, in
import mysql.connector
File "/usr/local/lib/python2.7/dist-packages/mysql/connector/init.py", line 54, in
from .connection import MySQLConnection
File "/usr/local/lib/python2.7/dist-packages/mysql/connector/connection.py", line 44, in
from .authentication import get_auth_plugin
File "/usr/local/lib/python2.7/dist-packages/mysql/connector/authentication.py", line 41, in
from urllib.parse import quote
ImportError: No module named parse
25.10.2021 09:29:29 - pluginLoader [ERROR ] error loading plugin: MySQL
25.10.2021 09:29:29 - pluginLoader [DEBUG ] error loading plugin: MySQL
Traceback (most recent call last):
File "/opt/boswatch/includes/pluginLoader.py", line 32, in loadPlugins
plugin = loadPlugin(i)
File "/opt/boswatch/includes/pluginLoader.py", line 106, in loadPlugin
return imp.load_module(plugin["name"], plugin["info"])
File "/opt/boswatch/plugins/MySQL/MySQL.py", line 17, in
import mysql.connector
File "/usr/local/lib/python2.7/dist-packages/mysql/connector/init.py", line 54, in
from .connection import MySQLConnection
File "/usr/local/lib/python2.7/dist-packages/mysql/connector/connection.py", line 44, in
from .authentication import get_authplugin
File "/usr/local/lib/python2.7/dist-packages/mysql/connector/authentication.py", line 41, in
from urllib.parse import quote
ImportError: No module named parse
Ich habe schon versucht, mittels pip install setuptools und pip install parse das Parse-Modul nachzuinstallieren. Auch danach bleibt die Fehlermeldung bestehen. Auch ein reboot half nichts.
Vielleicht kann mir dabei noch jemand weiterhelfen. Das wäre total klasse, denn aktuell stochere ich mit meinem Halbwissen im Dunklen herum. Dankeschön!