- Was your script uploaded to the server in 'text' mode? (Is your FTP client set to recognize .py files as text?)
- Have you set the script permissions to mode 755 (executable by the web server)?
- Have you set the path to the script interpreter in the first line correctly?
- Did you print valid header lines, including the final blank line?
- Finally, some servers require the script to be in the cgi-bin folder (or a subdirectory) and some even require the file extension to be .cgi rather than .py or .pl.