2012-05-10 54 views
2

我是一個PHP程序員,但我想學習Python。我對如何真正執行腳本感到困惑。我在我的Web服務器根目錄中創建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

這不是真正的代碼有問題。這是一個web服務器配置的問題,因爲它沒有像CGI腳本那樣執行代碼。這裏的代碼並不重要,對於serverfault可能是一個更好的問題。 – jordanm

+0

投票移動到serverfault –

+0

對不起,我沒有意識到這是一個服務器問題。將在serverfault嘗試我的運氣。 – amba88

回答

4

我想這可能是最簡單的使用mod_wsgi開始與WSGI Apache下。

一個簡單的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的頂部。快速入門installationconfiguration指南值得一讀。軟件包可用於常見的Linux發行版。

如果你有興趣在替代你可能想看看Tornado這是具有不同的設計基於事件的服務器。

由於@cacahootie提到下面你也應該考慮爲Python Web應用程序框架。這些使得使用WSGI的應用程序變得更容易。 Django可能是最受歡迎的,但Python中有很多other options。我個人對一個非常小的框架的偏好是Flask,但它不像Django那麼全面。

0

我和Brian同意了一下。在Web應用程序環境中學習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,金字塔,龍捲風,瓶子或瓶子。只需使用Web框架。在Python中編寫新的Web應用程序_使用CGI_只是浪費時間。 – Helgi