Hey,
versuche grade "bot.py" auf meinem Webhosting laufen zu lassen. Habe auch schon im Wiki gesucht aber dazu nichts gefunden. Was soll ich da eintragen? Danke!
Hey,
versuche grade "bot.py" auf meinem Webhosting laufen zu lassen. Habe auch schon im Wiki gesucht aber dazu nichts gefunden. Was soll ich da eintragen? Danke!
Hi OlMi1_YT I NETCRAFT,
ich nehme an, dass Deine python-bot.py eine Hintergrundanwendung ist und keine Webseite ausgibt. Kannst Du mehr zur Funktionionalität sagen?
Vermutlich musst Du das Script als Cronjob betreiben.
Danke und beste Grüße
Ich gehe einfach davon aus, dass "bot.py" eine Hintergrundanwendung ist.
Du hast probiert das mit Passenger zu machen (das Zeug mit dem Screenshot) ... das ist aber unnötig aufwendig.
Als Cronjob kannst du es nicht direkt laufen lassen, denn hier bist du im chroot gefangen. Du hast nur auf die Programme Zugriff, die du auch per ssh benutzen kannst - somit nicht Python.
Du könntest jedoch dein Skript per CGI (als "Website") laufen lassen. Dafür musst du CGI-Unterstützung unter dem Punkt Hosting-Einstellungen aktivieren. Wenn du jetzt bot.cgi mit folgendem Shebang und so in den cgi-bin Ordner im Website Root hochlädst, kannst du es unter domain.de/cgi-bin/bot.cgi starten.
#!/usr/bin/python3
# -*- coding: UTF-8 -*-
print("Content-Type: text/plain")
print()
# ... dein Python 3 Code (bei mir ist es python3.5) ...
Immer wenn du die URL domain.de/cgi-bin/bot.cgi aufrufst wird das Skript gestartet. Das kann jetzt mit einem Cronjob automatisiert werden.
Unter Aufgabe planen musst du eine Neue anlegen mit der Einstellung diese URL abzurufen. Das kannst du jetzt Täglich oder sonst wie machen (z.B. im Cron-Stil hier ein Hilfs-Tool https://crontab.guru/).
Wenn du noch extra Python Packages (z.B. von pip) brauchst, musst du auf deinem PC die venv env erstellen und da die Packages installieren.
Jetzt hast du zwei einfache Optionen, diese für bot.cgi verfügbar zu machen:
1. Die Packages von env/lib/python-x/site-packages direkt in den cgi-bin Ordner legen. (Dann wird alles vollgemüllt)
2. Oder die Packages von env/lib/python-x/site-packages in den Ordner cgi-bin/meine-packageszu legen und dann mit folgendem Code zu "aktivieren" (dem Python Path hinzuzufügen):
# shebang und so
import sys
# sys.path[0] entspricht dem "cgi-bin" Ordner
sys.path.insert(1, sys.path[0]+"/meine-packages")
# ... ab hier kannst du deine Packages importieren.
Viel Glück
Falls noch jemand nach einer Lösung sucht, dann sei folgender Forumeintrag https://forum.netcup.de/anwend…bhosting-8000/#post158009 empfohlen.
Oh ich habe völlig verpasst dass hier Antworten waren. Ich möchte mich einmal bei allen bedanken und probiere es morgen aus!
Hallo zusammen,
ich versuche auch gerade, ein Python Script als "Webseite" auszuführen.
Dabei habe ich den Beitrag von mhs (https://forum.netcup.de/sonsti…uf-webhosting/#post157202), sowie die anderen beiden Anleitung befolgt.
https://saschaszott.github.io/2021/02/14/netcup-python-webhosting.html
Leider bekomme ich es mit keiner Anleitung zum Laufen.
Wenn ich das Python-Script außerhalb des cgi-bin Ordners aufrufe, bekomme ich im Browser nur den Quelltext angezeigt.
Im cgi-bin Ordner bekomme ich einen 500er Fehler mit der Meldung "End of script output before headers: test.cgi" oder mit der *.py Endung
"End of script output before headers: test.py".
Was muss ich einstellen oder machen, damit ich ein Python-Script aufrufen kann?
Oder gibt es gar nicht die Möglichkeit, ein Python Script durch einen HTTP-Aufruf zu starten?
Vielen lieben Dank und viele Grüße
Stefan