Open hardtech87 opened 1 year ago
so das mit dem python hab ich gelöst. ich halte ne alte pip version. und nachdem ich die aktualisiert habe musste ich erneut pip install . ausführen. jetzt läuft es bis auf die crontab . er erstellt eine datei aber es steht nix drin
TELEGRAM_API_URL = f"https://api.telegram.org/bot{TOKEN}/sendMessage?chat_id={CHAT_ID}&parse_mode=HTML&""" ^ SyntaxError: invalid syntax
Schau Mal, das sieht für mich so aus als hättest du einen Fehler beim reinkopieren deiner ChatID oder TelegramToken gemacht. Beispielsweise ein " zu viel oder sowas.
der Fehler kommt nur weil mein python und pip nicht zusammen passten. jetz läuft alles wunderbar. wenn ich ebAlert manuell starte, bekomm ich sogar angebote aufs handy. aber nicht per crontab, es wird nur die datei erstellt aber die ist leer
/1 1-24 /usr/bin/python3 /home/pi/ebayKleinanzeigenAlert/python3 -m ebAlert start > /home/$
Das ist aufjedenfall falsch, das siehst du wenn du es unabhängig vom Crontab in die Kommandozeile eingeben würdest. Versuch stattdessen mal folgendes: /usr/bin/python /home/pi/ebayKleinanzeigenAlert/ebAlert start
unabhängig vom Crontab erstmal.
Wenn das nicht klappt: /usr/bin/python3 /home/pi/ebayKleinanzeigenAlert/ebAlert start
geht beides nicht
Welche Fehlermeldung kommt denn bei dir?
ne geht nicht. wenn ich in den Ordner EbayKleinanzeigenAlert wechsel und nur ebAlert eingebe, geht es. sogar im root Verzeichnis kann ich das eingeben und es geht. aber so alles zusammen nicht. bei which python kommt /usr/bin/python
pi@raspberrypi:~ $ /usr/bin/python3 /home/pi/ebayKleinanzeigenAlert/ebAlert start
Traceback (most recent call last):
File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/usr/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/pi/ebayKleinanzeigenAlert/ebAlert/main.py", line 1, in
pi@raspberrypi:~ $ /usr/bin/python /home/pi/ebayKleinanzeigenAlert/ebAlert start
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/pi/ebayKleinanzeigenAlert/ebAlert/main.py", line 1, in
Ich glaube du hast es irgendwie doppelt bei dir installiert. Die Version welche er im Path hat ist die fehlerhafte.
Theoretisch sollte dieser crontab bei dir klappen.
*/5 6-23 * * * python -m ebAlert start > /home/pi/out.txt
nur eine Datei ohne Inhalt ich gebs gleich auf
TELEGRAM_API_URL = f"https://api.telegram.org/bot{TOKEN}/sendMessage?chat_id={CHAT_ID}&parse_mode=HTML&"""
sollen diese 3 " dahinten stehen? habe 2 weg gemacht aber der aktualisiert das nicht
TELEGRAM_API_URL = f"https://api.telegram.org/bot{TOKEN}/sendMessage?chat_id={CHAT_ID}&parse_mode=HTML&"""
sollen diese 3 " dahinten stehen? habe 2 weg gemacht aber der aktualisiert das nicht
Wie schon oben beschrieben, könntest du in deiner config Datei einen Fehler gemacht haben. Sobald du diesen behoben hast musst du pip install .
erneut ausführen damit er übernommen wird.
ahhh ok
ok ändert nichts werde noch einmal alles neu aufsetzen und ein letztes mal probieren. auf jedenfall muss ich voher pip aktualisieren sonst geht alles wieder nicht
ahhh ok
So muss sie aussehen: (habe meine Daten anonymisiert)
import os
import logging
class Settings:
TOKEN = os.environ.get("TOKEN") or "5xxxxxxx120:AAxxxxxxxxTE"
CHAT_ID = os.environ.get("CHAT_ID") or "2xxxxxxx5"
FILE_LOCATION = os.path.join(os.path.expanduser("~"), "ebayklein.db")
TELEGRAM_API_URL = f"https://api.telegram.org/bot{TOKEN}/sendMessage?chat_id={CHAT_ID}&parse_mode=HTML&"""
LOGGING = os.environ.get("LOGGING") or logging.ERROR
URL_BASE = "https://www.ebay-kleinanzeigen.de"
settings = Settings()
ahhh ok
ok ändert nichts werde noch einmal alles neu aufsetzen und ein letztes mal probieren. auf jedenfall muss ich voher pip aktualisieren sonst geht alles wieder nicht
Ansonsten gib doch mal pip list
ein, wenn da ebayAlert ist, dann pip uninstall ebayAlert
und dann wieder installieren mit pip install .
sieht genau gleich aus
import os import logging
class Settings: TOKEN = os.environ.get("TOKEN") or "5xxxx9:Axxxxxxxhg" CHAT_ID = os.environ.get("CHAT_ID") or "5xxxxxxx7" FILE_LOCATION = os.path.join(os.path.expanduser("~"), "ebayklein.db") TELEGRAM_API_URL = f"https://api.telegram.org/bot{TOKEN}/sendMessage?chat_id={CHAT_ID}&parse_mode=HTML&""" LOGGING = os.environ.get("LOGGING") or logging.ERROR URL_BASE = "https://www.ebay-kleinanzeigen.de"
settings = Settings()
Ansonsten gib doch mal pip list ein, wenn da ebayAlert ist, dann pip uninstall ebayAlert und dann wieder installieren mit pip install .
aber im ebayKleinanzeigenAlert ordner?
Genau, wie im Video.
Requirement already satisfied: soupsieve>1.2 in /home/pi/.local/lib/python3.8/site-packages (from beautifulsoup4->bs4>=0.0.1->ebayAlert==1.3) (2.3.2.post1) Installing collected packages: ebayAlert DEPRECATION: ebayAlert is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 Running setup.py install for ebayAlert ... done Successfully installed ebayAlert-1.3
pi@raspberrypi:~/ebayKleinanzeigenAlert $ /usr/bin/python /home/pi/ebayKleinanzeigenAlert/ebAlert
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/pi/ebayKleinanzeigenAlert/ebAlert/main.py", line 1, in
nur ebAlert funktioniert wieder
Jo, wie befürchtet hast du ebAlert doppelt installiert. Einmal für python2.7 mit fehler in der config und einmal funktionierend auf python3.8
Mach Mal sudo nano /lib/python2.7/site-packages/ebAlert/core/config.py
siehst du dort die config Datei?
reparierbar? oder neu aufsetzen
verzeichnis existiert nicht
reparierbar? oder neu aufsetzen
verzeichnis existiert nicht
Können es versuchen. pip3.6 uninstall ebayAlert
pi@raspberrypi:~/ebayKleinanzeigenAlert $ pip3 uninstall ebayAlert Found existing installation: ebayAlert 1.3 Uninstalling ebayAlert-1.3: Would remove: /home/pi/.local/bin/ebAlert /home/pi/.local/lib/python3.8/site-packages/ebAlert/* /home/pi/.local/lib/python3.8/site-packages/ebayAlert-1.3-py3.8.egg-info Proceed (Y/n)? y Successfully uninstalled ebayAlert-1.3
Sehr gut. Jetzt pip uninstall ebayAlert
Dann schauen ob ebayAlert weg ist: python3 -m pip list
und python -m pip list
Wenn das dann erfolgt ist pip install .
wie gewohnt.
pi@raspberrypi:~ $ pip uninstall ebayAlert WARNING: Skipping ebayAlert as it is not installed.
bei python -m pip list ist es noch da
Das ist schlecht, das muss noch raus. Das wird die fehlerhafte Installation sein.
geht nicht zu löschen
geht nicht zu löschen
Dann müssen wir das manuell versuchen. Kannst du über FTP oder über die Console schauen ob unter /lib/python2.7/site-packages/ was drin ist?
pip show ebayAlert
sollte dir den Pfad aufjedenfall geben.
probier ich dann gleich , muss kurz mein sohn holen. ich melde mich.
ansonsten habe ich es aber wie beschrieben installiert, versteh nicht warum das so komisch ist
pi@raspberrypi:~ $ pip show ebayAlert WARNING: Package(s) not found: ebayAlert
pi@raspberrypi:~ $ pip show ebayAlert WARNING: Package(s) not found: ebayAlert
Okay, das macht für mich jetzt auch keinen sinn mehr, du meintest doch es wäre bei pip list
noch da. 🤔
Ah, das Bild hätte vor deinem Text sein müssen. Ja dann passt es doch und du könntest es mit pip install .
wieder installieren.
Hier löschst du die beiden Ordner mit ebAlert.
habs gelöscht und dann im ebayKleinanzeigenAlert verzeichnis mit pip install . installiert.
jetzt zeigt mir python -m pip list und pyhton3 -m pip list einen ebayAlert ordner.
und bei pi@raspberrypi:~/ebayKleinanzeigenAlert $ pip show ebayAlert Name: ebayAlert Version: 1.3 Summary: UNKNOWN Home-page: UNKNOWN Author: UNKNOWN Author-email: UNKNOWN License: UNKNOWN Location: /home/pi/.local/lib/python3.8/site-packages Requires: bs4, click, requests, sqlalchemy Required-by:
und bei pi@raspberrypi:~/ebayKleinanzeigenAlert $ pip3 show ebayAlert Name: ebayAlert Version: 1.3 Summary: UNKNOWN Home-page: UNKNOWN Author: UNKNOWN Author-email: UNKNOWN License: UNKNOWN Location: /home/pi/.local/lib/python3.8/site-packages Requires: bs4, click, requests, sqlalchemy Required-by:
also beide bei python3.8
pi@raspberrypi:~/ebayKleinanzeigenAlert $ python -m ebAlert
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 163, in _run_module_as_main
mod_name, _Error)
File "/usr/lib/python2.7/runpy.py", line 111, in _get_module_details
import(mod_name) # Do not catch exceptions initializing package
File "ebAlert/init.py", line 2, in
pi@raspberrypi:~/ebayKleinanzeigenAlert $ python3 -m ebAlert Usage: python -m ebAlert [OPTIONS] COMMAND [ARGS]...
Options: --help Show this message and exit.
Commands: links Add/Show/Remove URL from database. start Fetch new post and send telegramclass notification.
File "/usr/lib/python2.7/runpy.py"
Ich verstehe nicht warum da immernoch was mit Python2.7 ist.
Vielleicht ist es doch das beste du lädst dir das aktuelle Raspbian Lite Image runter und versuchst es von Grund auf nochmal. Bevor du startest dann halt direkt apt-get update
und apt-get upgrade
. Wenn es dann immernoch nicht klappt dann mache ich dir ein fertiges Image wenn du willst.
das problem über das image läuft mein komplettes terrarium. und ich hab nur ein backup davon. das spiele ich immer ein um neu anzufangen. habe diesmal sogar update und upgrade gemacht, hab aber das gefühl das es das noch schlimmer macht.
der config code muss richtig sein, er funktioniert ja wenn ich es manuell starte
Geht denn mittlerweile eines hiervon?
/usr/bin/python /home/pi/ebayKleinanzeigenAlert/ebAlert start
/usr/bin/python3 /home/pi/ebayKleinanzeigenAlert/ebAlert start
nein
nein
Dann weiß ich gerade nicht wie ich dir aus der Ferne noch helfen soll. Vielleicht weiß der Entwickler von dem Bot was hier der Fehler ist.
@vinc3PO can you help here?
das problem über das image läuft mein komplettes terrarium. und ich hab nur ein backup davon. das spiele ich immer ein um neu anzufangen. habe diesmal sogar update und upgrade gemacht, hab aber das gefühl das es das noch schlimmer macht.
Hast du denn eine zweite MicroSD Karte rumliegen um das auszuprobieren?
Ich danke dir unheimlich für deine Mühen.
Es läuft. ich habe das Backup neu aufgespielt und von vorn begonnen und habe diesmal mit "pip3 install ." installiert. und die 3 hats gebracht, dadurch hat er es nicht bei python 2 und 3 rein installiert. Vielen Vielen Dank
Eine Frage hab ich noch, in der out.txt steht nur einmal start der link und finish. is das korrekt oder muss jede suche da drin stehen?
Eine Frage hab ich noch, in der out.txt steht nur einmal start der link und finish. is das korrekt oder muss jede suche da drin stehen?
Ja, das ist richtig so. Schön, dass es nun funktioniert! 🎉
Hi.
ich versuche schon einige stunden das ganz zum laufen zu bringen, aber ohne Erfolg. wenn ich genau nach anleitung gehe, ist beim befehl python -m ebAlert schluss. da kommt eine Fehlermeldung. Diese konnte ich gestern nach viel probieren durch "python3" umgehen. Dann wird gezeigt, das man nur noch ebAlert eingibt ohne" python -m". Das geht bei mir nicht mehr. wenn ich die komplette Zeile schreibe, kann ich zumindest dann einen Link erstellen und der wird auch einmal ausgelesen. aber dann gehts wieder im crontab nicht weiter. das läuft einfach nicht.
pi@raspberrypi:~/ebayKleinanzeigenAlert $ ebAlert Traceback (most recent call last): File "/home/pi/.local/bin/ebAlert", line 6, in
from ebAlert.main import cli
File "/home/pi/.local/lib/python2.7/site-packages/ebAlert/init.py", line 2, in
from ebAlert.core.config import settings
File "/home/pi/.local/lib/python2.7/site-packages/ebAlert/core/config.py", line 9
TELEGRAM_API_URL = f"https://api.telegram.org/bot{TOKEN}/sendMessage?chat_id={CHAT_ID}&parse_mode=HTML&"""
^
SyntaxError: invalid syntax
meine Bashrc sieht so aus
export PATH="/home/pi/.local/bin:$PATH" alias python3=python3.7
crontba /1 1-24 /usr/bin/python3 /home/pi/ebayKleinanzeigenAlert/python3 -m ebAlert start > /home/$