Seite 1 von 3

Python: Hallo Welt - braucht Hilfe

Verfasst: Dienstag 16. März 2021, 15:08
von Peter-
Hallo Zusammen,

meinen "Hallo Welt" - Code habe ich via FTP auf meinen Ionos Webspace geladen und dann mit dem Browser (Chrome, Firefox und Edge getestet) die Adresse aufgerufen.
Die Seite hat den Namen hallowelt.py
Leider wird .py scheinbar nicht erkannt und es wird auf eine default Seite umgeleitet.
Ich habe mal nachgesehen, in meinem Tarif ist python enthalten.
.php Adressen und auch .html Adressen öffnen sich.

Woran kann das liegen?
Ach ja: habe irgendwo die Info gelesen, man soll die Zugriffsberechtigung im FTP für die Datei auf 755 oder 777 ändern, was aber auch nichts verändert hat.

Schöne Grüße,
Peter

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Dienstag 16. März 2021, 16:07
von Sirius3
Meist wird bei solchen Billig-Webspaces noch das seit zwanzig Jahren völlig veraltete CGI benutzt, und dazu muß man Konfigurieren, in welchen Verzeichnissen welche Dateien als CGI-Skripte ausgeführt werden dürfen. Meist ist ein /cgi-bin-Verzeichnis voreingestellt.

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Dienstag 16. März 2021, 19:46
von Peter-
Danke für den Tipp.
Hab den Ordner im Root Verzeichnis meines FTP-Zuganges angelegt. Hat nicht zur Lösung geführt.

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Dienstag 16. März 2021, 20:09
von nezzcarth
Wie genau sieht denn deine Datei aus? Einfach nur 'print('Hallo Welt!')' reicht nicht aus. Du musst entweder ein Webframework verwenden oder dich, wenn es denn unbedingt CGI sein soll, in die Verwendung des CGI Moduls aus der Standardbibliothek einlesen (https://docs.python.org/3/library/cgi.html). Beides ist allerdings kein absolutes Einsteigsthema; dafür sollte man die Grundlagen von Python schon halbwegs beherrschen.

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Dienstag 16. März 2021, 20:20
von Peter-
Das Programm sieht so aus:

----------------------------------

#!/usr/bin/python2.7

print "Content-Type: text/html"
print "\n\n"
print "<p>Hello World</p>"

----------------------------------

den Pfad hab ich aus der Ionos Doku. Da waren aber mehrere angegeben.

Um von Java Applets (bzw. PHP/mySQL) auf Python Webanwendungen umzusteigen brauche ich halt ne Umgebung.

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Dienstag 16. März 2021, 20:28
von __blackjack__
@Peter-: Python 2 sollte man nicht mehr für neue Projekte verwenden, das ist sein über einem Jahr EOL.

CGI möchte man eigentlich nicht mehr machen. Selbst wenn der Host nur CGI kann, würde ich mindestens ein WSGI-Mikrorahmenwerk (`bottle` oder `flask`) verwenden. WSGI kann man notfalls auch über CGI ausliefern.

Webanwendungen in Python sind aber deutlich anders als PHP und die meisten ”normalen” Webspace-Anbieter kann man da vergessen. Python ist da mehr wie Java oder C#.

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Dienstag 16. März 2021, 21:39
von Peter-
>Python 2 sollte man nicht mehr für neue Projekte verwenden, das ist sein über einem Jahr EOL.

ah ok, danke für die info.

>CGI möchte man eigentlich nicht mehr machen. Selbst wenn der Host nur CGI kann, würde ich mindestens ein WSGI-Mikrorahmenwerk (`bottle` oder `flask`) verwenden.

ich hab schon ein paar tutorials, auch auf udemy, gebucht für django.
aber ich würde auch gerne mal verstehen wie das ohne django geht, blicke da auch noch nicht wirklich durch.

Noch ne idee warum mein server die .py datei nicht öffnet?

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Dienstag 16. März 2021, 21:59
von __blackjack__
@Peter-: Weil der Server halt nicht so konfiguriert ist bzw. die Datei nicht dort liegt, oder nicht die Datenamenendung hat, die für CGI konfiguriert ist.

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Mittwoch 17. März 2021, 00:39
von Peter-
Habe mit der 24-Stunden Hotline von Ionos gesprochen und ein Ticket anlegen lassen.
Mal sehen ob die eine Lösung finden.

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Mittwoch 17. März 2021, 10:38
von Peter-
Das Problem ist gelöst.
Ein Supporter bei Ionos hat beim Pfad einfach die Versionsnummer rausgenommen, jetzt wird das Skript ausgeführt :-)))


----------------------

#!/usr/bin/python

print "Content-Type: text/html"
print "\n\n"
print "<p>Hello World</p>"

----------------------


Danke für Eure Unterstützung.

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Mittwoch 17. März 2021, 10:59
von __blackjack__
@Peter-: Das Problem ist nicht wirklich gelöst, denn wenn das jetzt funktioniert, dann ist das Python 2 und damit ein Problem das gelöst werden sollte. 🙂

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Mittwoch 17. März 2021, 11:41
von Peter-
Problem ist doch nicht behoben, die angenommene Lösung dass es am Pfad gelegen hat war eine falsche Annahme.

Der Supporter hat die Datei mit dem anderen Pfad gespeichert.
Aber wenn ich exakt denselben Code in eine neue Datei kopiere (z. B. jetzt mit dem Namen datei.py statt vorher test.py), ist das ursprüngliche Problem wieder da: der .py Code wird nicht ausgeführt sondern auf eine Default Seite umgeleitet.

Daher habe ich den Supporter nochmal angerufen und gefragt, ob er noch etwas geändert hat.
Nein, hat er gesagt, nur den Pfad.
Er hat die Datei nochmal neu gespeichert, diesmal mit einer Zeile weniger, und es ging wieder.
Aber wenn ich eine neue Datei anlege, auch mit dieser Zeile weniger, geht es wieder nicht mehr.

Fazit: beim Speichern der Seite durch den Supporter muss irgendetwas anderes passieren als bei mir.

Habe daher mal meine Datei mit anderer Kodierung "ANSI" und auch "UTF-8" getestet, daran lags nicht.

Ideen?

Nachtrag: Witzig, wenn ich seine Datei unter einem neuen Dateinamen und mit neuem Python-Code hochlade, funktioniert es. Wenn ich seinen Code nehme, seinen File-Namen, aber einfach als neue Datei anlege, geht es nicht. Kodierungseinstellungen wie bei seiner Datei.
Habs jetzt mit Atom, Notepad++ und mit Notepad versucht.
(hm... fürs hochladen verwendet er ja auch ein anderes Programm als ich... ich hab FileZilla. Aber daran kann es ja nicht liegen, weil seine Dateien ja auch mit meinem FileZilla funktionieren, sogar mit ganz anderem und längerem code.)

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Mittwoch 17. März 2021, 12:11
von Peter-
__blackjack__ hat geschrieben: Mittwoch 17. März 2021, 10:59 @Peter-: Das Problem ist nicht wirklich gelöst, denn wenn das jetzt funktioniert, dann ist das Python 2 und damit ein Problem das gelöst werden sollte. 🙂
kann ich nicht sagen welche python version es ist. Der Pfad auf 2.7 ist ja jetzt weg.
ich kann mir nicht vorstellen, wenn das EOL ist, dass ein Unternehmen das so viele Nutzer hat, nicht auf 3 laufen würde.

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Mittwoch 17. März 2021, 12:14
von nezzcarth
Man sieht an der Syntax, dass es Python 2 sein muss (in Python 3 muss es zwingend "print("Hallo Welt")" sein, also ein Funktionsaufruf.) Es kann zum Beispiel sein, dass das Unternehmen ein LTS Linux verwendet, das python 2.7 noch unterstützt.

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Mittwoch 17. März 2021, 12:20
von Peter-
nezzcarth hat geschrieben: Mittwoch 17. März 2021, 12:14 Man sieht an der Syntax, dass es Python 2 sein muss (in Python 3 muss es zwingend "print("Hallo Welt")" sein, also ein Funktionsaufruf.)
ah ok.
Naja, ich denke ich werde es jetzt nicht auf die Schnelle schaffen, eine Umstellung auf Python3 bei Ionos zu erreichen.

Aber wenn es mit der Datei des Supporters funktioniert, muss es doch bei mir auch irgendwie gehen...

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Mittwoch 17. März 2021, 12:25
von nezzcarth
Peter- hat geschrieben: Mittwoch 17. März 2021, 12:20 Aber wenn es mit der Datei des Supporters funktioniert, muss es doch bei mir auch irgendwie gehen...
Hast du darauf geachtet, dass Unix Zeilenenden (LF) und nicht Windows Zeilenenden (CRLF) verwendet werden? Sind die Permissions richtig gesetzt? Zumindest der Besitzer (=User des Webservers im besten Fall) muss die Datei ausführen können (755).

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Mittwoch 17. März 2021, 12:37
von Peter-
@nezzcarth
das war die Lösung!!!
ich beschreibe sie nochmal:
im Notepad auf bearbeiten->Format Zeilenende->Konvertiere zu UNIX (LF)

Vielen Dank an Alle für die Hilfe, und vielen Dank nezzcarth.

Schöne Grüße,
Peter

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Mittwoch 17. März 2021, 12:53
von __blackjack__
@Peter-: Es kann nicht sein das ein Webhoster noch *kein* Python 3 anbietet. Wenn man den jetzt erst dazu überreden müsste Python 3 (≥3.6) anzubieten, dann sollte man sich dringend einen anderen Hoster suchen.

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Mittwoch 17. März 2021, 16:51
von Peter-
__blackjack__ hat geschrieben: Mittwoch 17. März 2021, 12:53 @Peter-: Es kann nicht sein das ein Webhoster noch *kein* Python 3 anbietet. Wenn man den jetzt erst dazu überreden müsste Python 3 (≥3.6) anzubieten, dann sollte man sich dringend einen anderen Hoster suchen.
@__blackjack__

Da gebe ich Dir völlig recht.
Zwischen dem was sein kann und ist, ist manchmal halt ein Unterschied.
Ich bin jetzt seit den 90ern bei Ionos (bzw. vormals 1und1, bzw. vormals puretec), hab schon 3 Mal gewechselt und kam immer wieder zurück.
Für den Moment kann ich weiterlernen, worum es ja ging.

Re: Python: Hallo Welt - braucht Hilfe

Verfasst: Mittwoch 17. März 2021, 17:25
von __blackjack__
@Peter-: Was heisst weiterlernen? Mit Python 2 und Webanwendung? Eher nein.