2012-05-10 2 views
2

Я программист PHP, но я хочу изучить Python. Я немного смущен тем, как выполнять сценарий. Я создал test.py в моем веб-сервера, в файле я написал:Пытаюсь переключиться на Python, имея проблемы

#!/usr/bin/python 
import jon.cgi as cgi 
import jon.fcgi as fcgi 

print "Content-type: text/html" 
print "hello world" 

Мой сервер работает Litespeed, после урока по адресу: http://www.litespeedtech.com/support/wiki/doku.php?id=litespeed_wiki:python_fcgi Я установил CGI Джона.

Но когда я перехожу к сценарию в своем браузере, он просто печатает полный код, как если бы он не разбирал его. Поблагодарите за помощь, спасибо.

+4

Это не проблема с кодом. Это проблема с конфигурацией веб-сервера, поскольку она не выполняет код как скрипт CGI. Код здесь не имеет значения, и, вероятно, лучший вопрос для serverfault. – jordanm

+0

проголосовало за переход на serverfault –

+0

Извините, я не понимал, что это проблема с сервером. Попробуем удачу в serverfault. – amba88

ответ

4

Я думаю, что это может быть проще всего начать с WSGI под Apache, используя mod_wsgi.

Простое приложение WSGI выглядит следующим образом:

def application(environ, start_response): 
    status = '200 OK' 
    output = 'Hello World!' 

    response_headers = [('Content-type', 'text/plain'), 
         ('Content-Length', str(len(output)))] 
    start_response(status, response_headers) 

    return [output] 

Другие рамки Python построить на вершине WSGI. Быстрый старт installation и configuration руководства заслуживают внимания. Пакеты доступны для обычных дистрибутивов Linux.

Если вас интересует альтернатива, вы можете посмотреть на Tornado, который является сервером на основе событий, который имеет другой дизайн.

Как упоминается ниже @cacahootie, вы также должны изучить рамки веб-приложений для Python. Это упрощает работу с приложениями, использующими WSGI. Django, вероятно, самый популярный, но есть много other options с Python. Мое личное предпочтение для очень легкой структуры - Flask, но оно не так полно, как Django.

0

Я не согласен с Брайаном. Для изучения Python в среде веб-приложений CherryPy является одним из самых простых способов запуска. Это среда WSGI, но делает вещи такими легкими. Я не знаю, почему вы попытаетесь напрямую реализовать приложение WSGI. Я знаю, что CGI, вероятно, более удобное стартовое место, но, откровенно говоря, CherryPy (или некоторые из других более сложных фреймворков) упрощают работу, и WSGI - лучший способ развертывания этих приложений. WSGI сопоставим с CGI - это интерфейс, который может реализовать множество фреймворков.

CherryPy Project Site

Hello World (с их главной страницы):

import cherrypy 
class HelloWorld(object): 
    def index(self): 
     return "Hello World!" 
    index.exposed = True 

cherrypy.quickstart(HelloWorld()) 
+0

@Arran: используйте CherryPy, или Django, или Pyramid, или Tornado, или Flask, или Bottle. Просто используйте веб-фреймворк. Написание нового веб-приложения в Python _ using CGI_ - просто пустая трата времени. – Helgi

Смежные вопросы