簡體   English   中英

使用mod_wsgi導入模塊

[英]Import modules with mod_wsgi

我正在遵循有關在WampServer設置mod_wsgi的簡單教程,在我嘗試導入之前一切運行良好,我嘗試搜索網絡,但沒有找到有效的解決方案,這是錯誤問題(也許不是)或肯定是配置問題?

如何在mod_wsgi中導入模塊?

設置: Windows8 64 / wampserver x64位/ mod_wsgi x64位

目錄:

  1. Wampserver:c:/ wamp
  2. wsgi應用程序:c:/ wamp / www / wsgi
  3. 的Python27:c:/ python27

wsgi應用程序的別名:{根據教程中的wamp創建別名選項創建}

WSGIScriptAlias /wsgi/ "c:/wamp/www/wsgi/wsgi.py"
<Directory "c:/wamp/www/wsgi/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order allow,deny
    Allow from all
</Directory>

wsgi.py

from paste import httpserver

try :
    p = sys.argv[1]
    command = "from %(project)s import *" % {"project": p}
    exec(command)
    httpserver.serve(app, host='127.0.0.1', port='8080')

except :
    print "Usage: python runner.py <main_package>"
    sys.exit(0)

apache-error-log:

  • 目標WSGI腳本'C:/wamp/www/wsgi/wsgi.py'無法作為Python模塊加載。
  • 處理WSGI腳本'C:/wamp/www/wsgi/wsgi.py'時發生異常。
  • 從粘貼導入httpserver ImportError:無法導入名稱httpserver

但是,如果我將上面的代碼更改為:

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]

打印輸出。

選項嘗試過wsgi.py:

import os, sys
sys.path.append("c:\\wamp\\www\\wsgi\\paste\\")
sys.path.append(os.path.dirname(__file__))
sys.path.append('c:/wamp/www/wsgi/')
sys.path.insert(0, 'c:/wamp/www/wsgi')
sys.path.insert(1, 'c:/wamp/www')
sys.path.insert(0, "c:/wamp/www/wsgi/wsgi.py")
sys.path.insert(0, "c:/wamp/www/wsgi/paste")

編輯:粘貼模塊在應用程序的根目錄中。

您沒有提到您已將Python激活為Apache中的有效CGI。

這是否有幫助-> 配置Apache以使用Python

嘗試刪除最后的斜杠:

  WSGIScriptAlias /wsgi "c:/wamp/www/wsgi/wsgi.py"

代替:

  WSGIScriptAlias /wsgi/ "c:/wamp/www/wsgi/wsgi.py"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM