Bekijk Volledige Versie : Krijg python niet aan de praat bij hostingprovider
Rik van der Helm
23/04/04, 16:55
Hallo,
Ik heb een hostingaccount genomen dat volgens de specs python (incl.
mod_python) ondersteund. Ik kan ondertussen een beetje programmeren in
python, maar van mod_python heb ik nog geen kaas gegeten. Toch wil ik eerst
even een hello-world scriptje laten draaien voordat ik mij verder in
mod_python ga verdiepen. Maar het lukt me niet om onderstaand script aan de
praat te krijgen:
#!/usr/bin/python
print 'Content-type: text/html'
print 'Hello World'
In de error-log staat 'Premature end of script headers'
Hoewel ik geen shell-toegang heb, heb ik toch mbv een tijdelijke cronjob het
helloworld-script via de shell proberen aan te roepen en toen kreeg ik de
melding 'python: not found'. Als ik 'whereis python' aanroep krijg ik
'python: /usr/ports/lang/python' Dit lijkt mij niet de lokatie van python.
Ik ben aan de hand van bovenstaande info zelf geneigd te denken dat python
niet voor mijn account beschikbaar is gesteld. Maar wellicht zijn hier
andere ideeen over. In dat geval zou ik graag suggesties voor een aangepast
hello-world script zien, dat ik kan uittesten.
Bvd, Rik
Rik van der Helm
23/04/04, 16:55
Correctie:
#!/usr/bin/python
print 'Content-type: text/html'
print
print 'Hello World'
Daniel Tryba
23/04/04, 17:05
Rik van der Helm <rvaHAALnderh@xsweg4all.nl> wrote:
> Correctie:
> #!/usr/bin/python
> print 'Content-type: text/html'
> print
> print 'Hello World'
Ik hou me verre van python, maar het zou wel eens aan je regel eindes
kunnen liggen. Die zijn volgens de http specs namelijk CRLF voor
headers:
Bovenstaande levert op:
$ ./tst.py | od -c
0000000 C o n t e n t - t y p e : t e
0000020 x t / h t m l \n \n H e l l o W
0000040 o r l d \n
0000045
--
Daniel Tryba
Rene Pijlman
23/04/04, 18:05
Daniel Tryba:
>Rik van der Helm:
>> Correctie:
>> #!/usr/bin/python
>> print 'Content-type: text/html'
>> print
>> print 'Hello World'
>
>Ik hou me verre van python, maar het zou wel eens aan je regel eindes
>kunnen liggen. Die zijn volgens de http specs namelijk CRLF voor
>headers:
Klopt, maar hij programmeert niet direct HTTP, hij maakt een CGI-script.
En die moet aan de CGI-specs voldoen. Dit gaat min of meer als specs door,
en staat alleen LF toe:
"The output of scripts begins with a small header. This header consists of
text lines, in the same format as an HTTP header, terminated by a blank
line (a line with only a linefeed or CR/LF)."
http://hoohoo.ncsa.uiuc.edu/cgi/out.html
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Rene Pijlman
23/04/04, 18:15
Rik van der Helm:
>Als ik 'whereis python' aanroep krijg ik
>'python: /usr/ports/lang/python' Dit lijkt mij niet de lokatie van python.
Waarom niet?
Een gebruikelijke constructie in de Python-wereld is:
#! /usr/bin/env python
Omdat de locatie van python nogal eens wil variëren, terwijl env meestal
op zijn plaats staat.
Zie ook de tutorial:
http://docs.python.org/tut/node4.html#SECTION004220000000000000000
En zie
http://mail.python.org/pipermail/python-list/2003-January/138654.html voor
een uitgebreidere discussie.
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Rene Pijlman
23/04/04, 18:15
Rene Pijlman:
>en staat alleen LF toe:
Ik bedoelde eigenlijk: en staat "alleen LF" toe :-)
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Rik van der Helm
23/04/04, 19:05
Rene Pijlman wrote:
> Rik van der Helm:
>>Als ik 'whereis python' aanroep krijg ik
>>'python: /usr/ports/lang/python' Dit lijkt mij niet de lokatie van python.
>
> Waarom niet?
Tja, wat de boer niet kent dat vret ie niet he ?
maar '#!/usr/ports/lang/python' als openingsregel levert ook niks op.
>
> Een gebruikelijke constructie in de Python-wereld is:
>
> #! /usr/bin/env python
>
> Omdat de locatie van python nogal eens wil variëren, terwijl env meestal
> op zijn plaats staat.
>
> Zie ook de tutorial:
> http://docs.python.org/tut/node4.html#SECTION004220000000000000000
>
> En zie
> http://mail.python.org/pipermail/python-list/2003-January/138654.html voor
> een uitgebreidere discussie.
Merci. env staat gelukkig op zijn plek (/usr/bin/env)
maar ook de openingsregel '#! /usr/bin/env python' levert niks op.
Rene Pijlman
23/04/04, 20:55
Rik van der Helm:
>maar ook de openingsregel '#! /usr/bin/env python' levert niks op.
Je geeft helaas onvoldoende informatie, waardoor het moeilijk is je verder te helpen. Wil je deze tips even lezen om het probleem wat duidelijker te maken?
http://www.leren.nl/usenet/help/
--
René Pijlman
Rik van der Helm
23/04/04, 23:35
Rene Pijlman wrote:
> Rik van der Helm:
>>maar ook de openingsregel '#! /usr/bin/env python' levert niks op.
>
> Je geeft helaas onvoldoende informatie, waardoor het moeilijk is je verder
> te helpen. Wil je deze tips even lezen om het probleem wat duidelijker te
> maken? http://www.leren.nl/usenet/help/
>
Mijn belangrijkste probleem is dat ik geen of te weinig informatie heb. Mijn
provider geeft geen informatie over op welke wijze python wordt
ondersteund. Als ik shell-toegang had (wat niet zo is) kon ik de nodige
informatie achterhalen, maar dan is de oplossing ook niet ver meer. Met de
informatie die ik wel kon achterhalen en die ik al eerder heb gepost, kan
ik zelf niet anders concluderen dan dat python niet ondersteund wordt. Ik
heb mijn provider hier ondertussen van op de hoogte gesteld.
Daniel Tryba
23/04/04, 23:45
Rik van der Helm <rvaHAALnderh@xsweg4all.nl> wrote:
>>>Als ik 'whereis python' aanroep krijg ik
>>>'python: /usr/ports/lang/python' Dit lijkt mij niet de lokatie van python.
>>
>> Waarom niet?
> Tja, wat de boer niet kent dat vret ie niet he ?
> maar '#!/usr/ports/lang/python' als openingsregel levert ook niks op.
Ik zie nu net dat je het in je eerste bericht over mod_python hebt.
Het shebang gebeuren wordt zeer waarshijnlijk alleen gebruikt voor cgi
meuk. MAW laat de eerste regel eens weg, dat levert namelijk vast een
interpeter error op in Python.
--
Daniel Tryba
Rik van der Helm
24/04/04, 00:05
Daniel Tryba wrote:
> Rik van der Helm <rvaHAALnderh@xsweg4all.nl> wrote:
>>>>Als ik 'whereis python' aanroep krijg ik
>>>>'python: /usr/ports/lang/python' Dit lijkt mij niet de lokatie van
>>>>python.
>>>
>>> Waarom niet?
>> Tja, wat de boer niet kent dat vret ie niet he ?
>> maar '#!/usr/ports/lang/python' als openingsregel levert ook niks op.
>
> Ik zie nu net dat je het in je eerste bericht over mod_python hebt.
> Het shebang gebeuren wordt zeer waarshijnlijk alleen gebruikt voor cgi
> meuk. MAW laat de eerste regel eens weg, dat levert namelijk vast een
> interpeter error op in Python.
>
Levert geen nieuwe inzichten op. Krijg wederom een 500 internal server
error. Vreemd genoeg krijg ik in mijn error_log geen meldingen te zien.
Rene Pijlman
24/04/04, 00:25
Rik van der Helm:
>Daniel Tryba:
>> Ik zie nu net dat je het in je eerste bericht over mod_python hebt.
Ik had dat mod_python wel gezien, maar ik nam aan dat je nu eerst willens
en wetens met een CGI script bezig was.
>> Het shebang gebeuren wordt zeer waarshijnlijk alleen gebruikt voor cgi
>> meuk. MAW laat de eerste regel eens weg
Wat is dat nu weer voor advies? Een mod_python applicatie ontstaat niet
door de #! van een CGI-script weg te laten.
>Levert geen nieuwe inzichten op.
Tsja, ik durf het bijna niet te zeggen, maar misschien moet je eens een
manual lezen? Dat zijn vrij goede leveranciers van inzichten; veel
efficiënter dan trial & error.
De documentatie staat hier:
http://www.modpython.org/
Je zult dan toch iets moeten weten van je hosting provider, of de
configuratie van de web server zelf kunnen bestieren, met name de
PythonHandler.
Het simpelste voorbeeld met de publisher handler staat hier:
http://www.modpython.org/live/mod_python-2.7.8/doc-html/hand-pub-intro.html
Dat wil zeggen, let even op de verschillende versies van mod_python voor
verschillende versiecombinaties van Apache en Python.
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Rik van der Helm
24/04/04, 00:35
Rene Pijlman wrote:
> Rik van der Helm:
>>Daniel Tryba:
>>> Ik zie nu net dat je het in je eerste bericht over mod_python hebt.
>
> Ik had dat mod_python wel gezien, maar ik nam aan dat je nu eerst willens
> en wetens met een CGI script bezig was.
>
>>> Het shebang gebeuren wordt zeer waarshijnlijk alleen gebruikt voor cgi
>>> meuk. MAW laat de eerste regel eens weg
>
> Wat is dat nu weer voor advies? Een mod_python applicatie ontstaat niet
> door de #! van een CGI-script weg te laten.
>
>>Levert geen nieuwe inzichten op.
>
> Tsja, ik durf het bijna niet te zeggen, maar misschien moet je eens een
> manual lezen? Dat zijn vrij goede leveranciers van inzichten; veel
> efficiënter dan trial & error.
>
> De documentatie staat hier:
> http://www.modpython.org/
>
> Je zult dan toch iets moeten weten van je hosting provider, of de
> configuratie van de web server zelf kunnen bestieren, met name de
> PythonHandler.
Voorlopig hoor ik nog niks van mijn provider. Ik wil graag allerlei
handleidingen gaan doorspitten. Maar voordat ik dingen voor niks ga leren
wil ik eerst weten of mijn provider python ondersteund. Ik dacht hier
wellicht info te krijgen over de mogelijke inhoud van een hello-world
script om deze test te kunnen uitvoeren. Kennelijk is deze vraag simpeler
gesteld dan beantwoord.
Ik wacht wel op mijn provider.
Groet en bedankt, Rik
Daniel Tryba
24/04/04, 00:55
Rene Pijlman <reply.in.the.newsgroup@my.address.is.invalid> wrote:
>>> Het shebang gebeuren wordt zeer waarshijnlijk alleen gebruikt voor cgi
>>> meuk. MAW laat de eerste regel eens weg
>
> Wat is dat nu weer voor advies? Een mod_python applicatie ontstaat niet
> door de #! van een CGI-script weg te laten.
Dat heb ik ook niet beweerd, ik stelde alleen dat het een fout in de
interpeter zou opleveren en dat lijkt me ook het geval :)
--
Daniel Tryba
Rene Pijlman
24/04/04, 13:55
Rik van der Helm:
>Ik dacht hier wellicht info te krijgen over de mogelijke inhoud van
>een hello-world script om deze test te kunnen uitvoeren. Kennelijk
>is deze vraag simpeler gesteld dan beantwoord.
Nou moet het niet gekker worden. Dat staat toch in de documentatie waar ik
je naar verwees? Je denkt toch niet dat we die hier voor je gaan
overtypen.
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Rik van der Helm
28/04/04, 14:15
Rene Pijlman wrote:
> Rik van der Helm:
>>Ik dacht hier wellicht info te krijgen over de mogelijke inhoud van
>>een hello-world script om deze test te kunnen uitvoeren. Kennelijk
>>is deze vraag simpeler gesteld dan beantwoord.
>
> Nou moet het niet gekker worden. Dat staat toch in de documentatie waar ik
> je naar verwees? Je denkt toch niet dat we die hier voor je gaan
> overtypen.
>
Zoals in mijn eerste posting was mijn vraag eng gesteld
"Ik ben aan de hand van bovenstaande info zelf geneigd te denken dat python
niet voor mijn account beschikbaar is gesteld. Maar wellicht zijn hier
andere ideeen over"
Ik heb de documentatie die over het achterhalen van de locatie van python
ging gelezen en (helaas zonder succes) toegepast.
Ik had in mijn originele posting dacht ik redelijk onderbouwd waarom ik
verwachtte dat python op mijn hosting (hoewel toegezegd) niet beschikbaar
was gesteld, hetgeen naar mijn idee de reden is dat het standaard 'hello
world'-script niet wilde werken. Ik heb op deze stelling naar mijn idee
geen reaktie gekregen.
Ik zag geen reden waarom ik mij in mod_python moest gaan verdiepen op dit
moment. Het enige wat ik op dit moment wilde weten was of python
ondersteund was. Volgens mij is dat een geldige reden.
Ondertussen heeft mijn provider de nodige handelingen verricht waardoor
python wel werkt op mijn account. Ik weet niet wat hij heeft gedaan.
Wellicht heeft ie wat met de handlers in mod_python zitten stoeien. Maar
het in mijn eerste posting genoemde standaard 'hello-world' script werkt nu
gewoon.
Groet en dank voor jullie inbreng.
Rik