Python: Hallo Welt - braucht Hilfe

Probleme bei der Installation?
nezzcarth
User
Beiträge: 1632
Registriert: Samstag 16. April 2011, 12:47

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).
Peter-
User
Beiträge: 40
Registriert: Dienstag 16. März 2021, 15:01

@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
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Peter-
User
Beiträge: 40
Registriert: Dienstag 16. März 2021, 15:01

__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.
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Peter-: Was heisst weiterlernen? Mit Python 2 und Webanwendung? Eher nein.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Peter-
User
Beiträge: 40
Registriert: Dienstag 16. März 2021, 15:01

__blackjack__ hat geschrieben: Mittwoch 17. März 2021, 17:25 @Peter-: Was heisst weiterlernen? Mit Python 2 und Webanwendung? Eher nein.
OK, dann muss ich wohl doch den Weg gehen, den lokalen server einzurichten, und dann mit aktuellem python.
Peter-
User
Beiträge: 40
Registriert: Dienstag 16. März 2021, 15:01

Ich habe jetzt auch nochmal mit einem Ionos Supporter gesprochen.
Er meinte, die normalen Verträge ohne eigenen Server haben alle momentan nur die Python Version 2.7
Vereinzelte Kunden haben wohl die Möglichkeit genutzt, mittels Skript Upload via FTP selber ein Update von Python zu machen.
Ionos unterstützt aber nicht dabei.

Hab gerade mal gegoogelt nach einem kostengünstigen oder kostenlosen webspace mit Python 3.
Die meisten geben keine Versionsnummer an. Hetzner soll ja recht fortschrittlich sein, aber sehe da auch nichts.

Gibts eine Empfehlung für einen günstigen Python 3 Webspace?
nezzcarth
User
Beiträge: 1632
Registriert: Samstag 16. April 2011, 12:47

Peter- hat geschrieben: Mittwoch 17. März 2021, 18:10 Gibts eine Empfehlung für einen günstigen Python 3 Webspace?
Eine gängige Empfehlung hier im Forum dafür ist uberspace.
Peter-
User
Beiträge: 40
Registriert: Dienstag 16. März 2021, 15:01

nezzcarth hat geschrieben: Mittwoch 17. März 2021, 18:16 Eine gängige Empfehlung hier im Forum dafür ist uberspace.

Danke.
Hab mir uberspace mal angesehen. Soweit schon ein tolles Konzept, laut Webseite.
Aber kein Telefonsupport. (Nur in Notfällen)
Ionos hat 24-Stunden Telefonsupport und Hetzner zu Geschäftszeiten.
Was ist der Vorteil von uberspace gegenüber Hetzner? Preis ist bei beiden ab ca. 5 Euro im Monat incl. Python.
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Peter-: Ich sehe bei Hetzner für den Preis kein sinnvoll nutzbares Python. Das geht für Cronjobs und CGI. WSGI laut Feature-Tabelle explizit *nicht*. Und zwar bei keinem der Webangebote. Lustig das die etwas in der Vergleichstabelle stehen haben was man in keinem Tarif haben kann.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
nezzcarth
User
Beiträge: 1632
Registriert: Samstag 16. April 2011, 12:47

Peter- hat geschrieben: Freitag 19. März 2021, 17:01 Was ist der Vorteil von uberspace gegenüber Hetzner?
Der Ansatz ist halt etwas anders als bei klassischen Shared Hosting Angeboten. Bei Uberspace bekommst du halt einen (fast) regulären Linux-Shell-Zugang in die Hand gedrückt und kannst damit dann Dinge tun, die bei anderen Anbietern tendenziell eher einen eigenen (v)Server erfordern würden (einschließlich problemlos Python Anwendungen laufen lassen). Ob das jetzt ein Vorteil ist, hängt von deinen Anforderungen ab. Uberspace richtet sich tendenziell eher an ein etwas technisch-interessiertes Publikum, würde ich sagen – Aber als Programmierer ist man das tendziell ja auch (und es gibt viele Anleitungen). Wenn man ein eher Endkunden-orientiertes Angebot erwartet, ist vielleicht einer der großen Hoster besser geeignet.
Peter-
User
Beiträge: 40
Registriert: Dienstag 16. März 2021, 15:01

Danke (auch) für die Infos zu hetzner.
Wofür mein provider WSGI anbieten muss damit ich python lernen kann, hab ich noch nicht verstanden.

Ich hatte bei uberspace noch ne Frage an den Support, auf deren Antwort ich jetzt 3 (Werk?)Tage warten soll. Das ist schon ärgerlich, wenn man doch mal ein richtiges budgetiertes Projekt über die laufen lässt, ist das echt kein Zustand. Und auch jetzt finde ich es ineffizient und auch ungewohnt auf so eine Frage an den Support so lange zu warten. Aber wenn uberspace empfohlen wird, scheint das sonst wohl nicht so zu stören, oder andere Vorteile überwiegen.

Es gäbe noch hosteurope. Python 3.7.3, Hotline zu Bürozeiten. WSGI kann ich nichts konkretes finden.
nezzcarth
User
Beiträge: 1632
Registriert: Samstag 16. April 2011, 12:47

Peter- hat geschrieben: Samstag 20. März 2021, 14:12 Wofür mein provider WSGI anbieten muss damit ich python lernen kann, hab ich noch nicht verstanden.
Du brauchst kein WSGI, um Python zu lernen. Das geht lokal auf deinem Rechner. WSGI wird dann benötigt, wenn man Webanwendungen programmieren und zur Verfügung stellen möchte. Das heißt, das wird eigentlich erst relevant, wenn man das Programmieren in Python selbst schon einigermaßen beherrscht. Und wirklich interessant wird das eigentlich erst, wenn man eine Webanwendung (die man bis dahin ruhig lokal programmieren kann) fertig hat und diese deployen will. Zu dem Zeitpunkt hat man sich dann in der Regel auch schon genug Expertise aufgebaut, um einen Anbieter zu suchen, der das anbietet, was man sich vorstellt. Und bei Uberspace ist es eben möglich, die Deployment-Variante umzusetzen, die viele Entwickelnde zur Zeit für optimal halten (WSGI-Server wie Gunicorn oder uWSGI + Proxyserver).

Zum Support bei Uberspace kann ich nichts sagen, da ich den bisher noch nicht benötigt habe.
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Peter-: Gegenfrage: Wofür brauchst Du zum Python-lernen einen Webhoster?

Um mal Uberspace zum Support zu zitieren:
Unser Ziel ist, dass bei dir die Groschen fallen. Dafür fliegen wir für dich gern eine Extrameile, weil wir es für die beste und nachhaltigste Lösung halten, wenn sowohl du als auch wir an jedem Problem etwas Neues lernen.
Das ist also kein 24/7 ruf uns an und wir lösen Dein Problem für Dich, sondern Hilfe dabei wie man lernt das Problem selbst zu lösen.

Es gibt auch kein Klicki-Bunti. Erster Satz im „Uberspace 7 Handbuch“:
Uberspace is a hosting platform targeted at people who want to look behind the scenes, do things we didn’t anticipate and generally prefer working with a text-based console. Our objective is to not only host the content you’d like to see on the web, but also to introduce you to Linux and basic shell usage.
Falls das nicht Deinen Vorstellungen entspricht, müsstest Du Dir einen anderen Hoster suchen.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

Billig-Webspace ist halt auch nicht für ein "budgetiertes Projekt" geeignet. Wenn Du Python lernen willst, reicht es ja, wenn Du alles Lokal ans Laufen bringst.
Peter-
User
Beiträge: 40
Registriert: Dienstag 16. März 2021, 15:01

---
Zuletzt geändert von Peter- am Samstag 20. März 2021, 19:56, insgesamt 1-mal geändert.
Peter-
User
Beiträge: 40
Registriert: Dienstag 16. März 2021, 15:01

Peter- hat geschrieben: Samstag 20. März 2021, 19:37
__blackjack__ hat geschrieben: Samstag 20. März 2021, 17:59 @Peter-: Gegenfrage: Wofür brauchst Du zum Python-lernen einen Webhoster?
Sirius3 hat geschrieben: Samstag 20. März 2021, 18:03 Billig-Webspace ist halt auch nicht für ein "budgetiertes Projekt" geeignet. Wenn Du Python lernen willst, reicht es ja, wenn Du alles Lokal ans Laufen bringst.
@__blackjack__: brauche momentan einfach nur ne simple web-entwicklungsumgebung für python. habe daher beide wege gestartet, lokalhost und provider. Über provider, ionos, ging schneller. Daher hab ich dort schon einen mini-rechner in python "veröffentlicht". Allerdings wurde mir im forum gesagt, dass das python 2.7 von ionos nicht geeignet ist das zu lernen. daher hab ich nun einen account bei uberspace gemacht. Aber ich bin - nach erstem kontakt mit uberspace - nicht sicher ob die zu mir passen. klar muss das jetzt nicht für grosse projekte gut sein. aber so eine entscheidung ist manchmal weitreichend. wenn plötzlich ein mittleres oder größeres projekt ansteht, benutzt man halt gerne bestehende infrastruktur/kontakte und fängt dann nicht plötzlich an neue wege zu gehen, wenns nicht sein muss. never change a running system.

>Uberspace is a hosting platform targeted at people who want to look behind the scenes

ich programmiere eher aus spass. setze gerne auch alle paar jahre mal große projekte selbst um, in meiner eigenen zeit. was ich wirklich können muss, ist es, als kaufmann mit programmierern meines teams (oder betriebswirten, oder anwälten) auf augenhöre sprechen zu können. und ich möchte technologisch am puls der zeit bleiben. aber alles mit augenmaß. ich muss kein unix system konfigurieren können und mir reicht prinzipiell eine sprache soweit gut zu nutzen, und bisher auch nicht unbedingt frameworks (was sich mit django ändern könnte). das überlasse ich anderen. darum weiß ich nicht ob "look behind the scenes "noch in mein "an neuen technologien dran bleiben" reinfällt oder schon ins "überlasse ich anderen".

>Falls das nicht Deinen Vorstellungen entspricht, müsstest Du Dir einen anderen Hoster suchen.

das befürchte ich auch... darum hab ich den gedanken mit hetzner und hosteurope nochmal aufgegriffen.

Nachtrag: das erinnert mich ein bisschen an meinen ersten VHS-Rekorder den ich in den 80ern gekauft hatte. Da hat mich mal jemand gefragt warum ich den kaufe, wo ich doch gar keine VHS-Kassetten habe... heute ist die frage, was ich mit einem python-provider mache, wo ich doch noch nicht auf python umgelernt habe ^^
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Peter-: Also willst Du nicht (nur) Python lernen, sondern Webentwicklung in Python. Aber auch dafür brauchst Du erst einmal keinen Hoster, denn das lässt sich auch lokal machen. Dazu brauchst Du für den Anfang nicht einmal einen Webserver, weil die meisten Rahmenwerke einen kleinen eigenen Entwicklungsserver mitbringen.

Sogar die Python-Standardbibliothek bringt bereits einen simplen Webserver mit, der auch CGI kann. Unterverzeichnis mit dem Namen ``cgi-bin`` anlegen, da Deine Hallo-Welt-CGI-Datei rein, und dann das `http.server`-Modul aus der Standardbibliothek starten:

Code: Alles auswählen

bj@s8n:~$ ls -l cgi-bin/
total 4
-rwxrwxr-x 1 bj bj 99 Mär 20 20:37 hallowelt.py
bj@s8n:~$ cat cgi-bin/hallowelt.py 
#!/usr/bin/env python3

print("Content-Type: text/html")
print("\n\n")
print("<p>Hello World</p>")
bj@s8n:~$ python3 -m http.server --cgi 8000
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
Im Browser http://0.0.0.0:8000/cgi-bin/hallowelt.py eingeben, und viola, wird "Hello World" erscheinen.

Eventuell musst Du "python3" in etwas anderes ändern, je nach dem wie Du Deinen Python-Interpreter startest. Das `http.server`-Modul (ohne ``--cgi``) ist auch ein netter weg um mal schnell und unkompliziert Dateien in einem Verzeichnis auf einem Rechner im lokalen Netz verfügbar zu machen.

Es wurde ja schon mehrfach gesagt: Man möchte kein CGI programmieren. Man braucht ein Rahmenwerk. Ohne würde man sich am Ende nur selber eines schreiben, aber sehr wahrscheinlich schlechter als die, die es bereits gibt. Verbreitete Rahmenwerke nach Grösse, von Mikrorahmenwerk in einer einzigen Datei bis eierlegende Wollmilchsau, wären beispielsweise Bottle, Flask, und Django. Alle kommen mit eigenem Entwicklungsserver und sprechen nach aussen WSGI.

In Bottle sähe ein kleines Hallo Welt so aus:

Code: Alles auswählen

#!/usr/bin/env python3
from bottle import route, run


@route("/")
def index():
    return "<p>Hello World</p>"


if __name__ == "__main__":
    run(host="localhost", port=8080)
Einfach als Programm starten und da braucht man dann nur http://localhost:8080/ im Browser aufrufen, ohne irgendwelche Zusätze in der URL.

Worüber Du Dir aber vielleicht vorher schon im klaren sein solltest, ist das es für Python genau wie beispielsweise für Java keine vergleichbaren Billighoster wie für PHP gibt und das die Technik das ans Netz zu bringen deutlich komplexer ist als beispielsweise PHP. Ein üblicher Ansatz ist eine Webanwendung die über WSGI kommuniziert mit einem Anwendungsserver laufen zu lassen, und der wird dann hinter einen als „reverse proxy“ konfigurierten Webserver gesetzt der sich um SSL kümmert und statische Inhalte direkt ausliefert und für die dynamischen Inhalte den Anwendungsserver befragt.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Peter- hat geschrieben: Samstag 20. März 2021, 14:12 Das ist schon ärgerlich, wenn man doch mal ein richtiges budgetiertes Projekt über die laufen lässt, ist das echt kein Zustand.
Managed web hosting wie uberspace und andere Angebote ist ja auch eher für Hobbykram ausgelegt. Wenn man Geld in die Hand nimmt und es einfach haben möchte geht man inzwischen zu Squarespace, Shopify usw. wenn einem die Facebook Seite nicht reicht.

Wenn man das Budget hat für Anwendungsentwicklung geht man entweder zu einer Agentur die dass inklusive Hosting übernimmt oder wenn man das in-house macht geht man zu einem PaaS (Heroku, DigitalOcean...) oder gleich zu AWS, GCP oder Azure.

PHP dominiert im unteren Budget Bereich nahezu vollständig. Wenn du andere Programmiersprachen wie Python nutzt bist du damit quasi sofort in dem Bereich, in dem Leute entweder wissen was sie tun und im Hobby Bereich vserver, uberspace o.ä. nutzen oder im professionellen Bereich in der höheren Preisklasse.

Ich wäre auch Vorsichtig zu viel auf Support in dem managed hosting Bereich zu achten. Leute die qualifiziert sind wirklich guten Support zu bieten wollen gut bezahlt werden, dementsprechend ist auch guter Support nicht günstig. Wenn du nur ein paar Euro im Monat zahlst, bekommst du einfach keinen guten Support, bei keinem Anbieter. Selbst AWS, was jetzt wirklich nicht günstig ist, bietet guten Support auch nur an wenn du dafür zahlst und dass fängt bei $29 an.
Peter-
User
Beiträge: 40
Registriert: Dienstag 16. März 2021, 15:01

>Also willst Du nicht (nur) Python lernen, sondern Webentwicklung in Python. Aber auch dafür brauchst Du erst einmal keinen Hoster, denn das lässt sich auch lokal machen.

Da es online auch nicht viel komplizierter ist als offline, und ich es ja schon auch fließend in Korrelation mit steigenden Kenntnissen für öffentliche Projekte nutzen werde, bleibe ich mal bei der Provider-Variante.

Versuche jetzt meinen uberspace Zugang von der voreingestellten Python Version 2 auf die hinterlegte 3.6 umzustellen.
Habe dazu PuTTY installiert. Kann damit auf 3.6 umstellen: alias python='/usr/bin/python3'
aber damit klappt es nur temporär, nicht systemweit und nicht für Webseitenaufrufe. (momentan wird meine test.py nur so angezeigt wie sie geschrieben ist und nicht interpretiert)
womöglich geht das mit: update-alternatives --install /usr/bin/python python /usr/bin/python3 1
dazu benötige ich aber erst Rechte: sudo su
Servermeldung: Sorry, user is not allowed to execute '/bin/su' as root on *.uberspace.de

Uberspace bescheid geben dass sie Rechte freischalten? Oder anderen Weg möglich?

Wäre doch gelacht wenn Hello World mit Python 3 nicht noch klappen würde.
Antworten