80 lines
2.9 KiB
Plaintext
80 lines
2.9 KiB
Plaintext
From: duncan at rcp.co.uk (Duncan Booth)
|
|
Date: 14 Apr 1999 08:43:26 GMT
|
|
Subject: stupid Win-CGI getting started question
|
|
References: <7f0f0h$pfb$1@nnrp1.dejanews.com>
|
|
Message-ID: <8DA86302Bduncanrcpcouk@news.rmplc.co.uk>
|
|
Content-Length: 2672
|
|
X-UID: 620
|
|
|
|
seitz at mail.medscape.com wrote in <7f0f0h$pfb$1 at nnrp1.dejanews.com>:
|
|
|
|
>Installed the basic Python stuff. I can run the interpreter. But not clear on
|
|
>getting it configured properly to talk CGI with my WinNT Netscape Enterprise
|
|
>server. I set a CGI folder path properly, but I get a nasty error message.
|
|
>But it's not a file-not-found, so I know it's finding the .py file. So I'm
|
|
>guessing it's not finding the executable.
|
|
>
|
|
>How should that first #! be changed for Windows users? Could that be it?
|
|
>
|
|
>Could the fact that all my Python stuff is under
|
|
>d:\program files\python\
|
|
>be part of the problem (the long folder name with a space in it)?
|
|
|
|
I tried all sorts of configuration changes to get it to run .py files directly,
|
|
and eventually gave it up as a bad job (mostly because I didn't want to risk
|
|
breaking the server).
|
|
|
|
The way I get CGI scripts to run with Netscape Enterprise server on NT is to
|
|
put them in .cmd files instead of .py files. For example:
|
|
|
|
---------test.cmd----------------
|
|
@c:\Progra~1\Python\python -x "%~f0" %* & goto :EOF
|
|
import os
|
|
|
|
print "Content-type: text/html"
|
|
print
|
|
print "<HTML><HEAD><TITLE>Test</TITLE></HEAD>"
|
|
print "<body>Hello world from python.<p>"
|
|
|
|
for k in os.environ.keys():
|
|
print k, os.environ[k], "<br>"
|
|
print "</body>"
|
|
---------end of test.cmd---------
|
|
You would need to change the path to reflect the location of your copy of
|
|
Python, either use the 8.3 filename as above, or put the filename in quotes:
|
|
@"c:\Program Files\Python\python" -x "%~f0" %* & goto :EOF
|
|
works.
|
|
|
|
To get Bobo (now ZPublisher) working, I use a wrapper .cmd file like this:
|
|
--------------form.cmd----------------
|
|
@c:\Progra~1\Python\pythonw -x "%~f0" %* & goto :EOF
|
|
import traceback, sys
|
|
try:
|
|
sys.path[0:0] = ["h:\\staff\\tvoc\\python"]
|
|
|
|
import cgi_module_publisher
|
|
cgi_module_publisher.publish_module("form")
|
|
|
|
except:
|
|
print 'Content-type: text/plain\n\n'
|
|
print 'An error occured in attempting to set up the environment for
|
|
this application.'
|
|
-------------end of form.cmd-------------------
|
|
|
|
sys.path needs to be set to include the directory with the python code you want
|
|
to publish, but the python code need not be visible to the web users.
|
|
|
|
I then set up a redirect in the Netscape server configuration so that an
|
|
ordinary URL with an html extension gets redirected to form.cmd and the end
|
|
user doesn't even need to know that any CGI is involved.
|
|
|
|
--
|
|
Duncan Booth duncan at dales.rmplc.co.uk
|
|
int month(char *p){return(124864/((p[0]+p[1]-p[2]&0x1f)+1)%12)["\5\x8\3"
|
|
"\6\7\xb\1\x9\xa\2\0\4"];} // Who said my code was obscure?
|
|
http://dales.rmplc.co.uk/Duncan
|
|
|
|
|
|
|
|
|