2012-11-05 115 views
3

我們正試圖擺脫在mod_wsgi上工作的wsgi應用程序。我們在使用wsgiref.simple_server作爲調試環境之前已經運行了它。現在,我們希望將它轉移到使用Apache httpd集成在同一端口下加載靜態文件,並提供更適合生產的環境。用mod_wsgi導入python模塊

我們設立了這個樣子的httpd.conf文件:

<VirtualHost *:80> 

    DocumentRoot /var/www/ 

    ErrorLog /var/www/log/error_log 

    LogLevel debug 

    WSGIScriptAlias /app /var/www/python/resource/rest.py 

    <Directory /var/www/python/> 
      Order allow,deny 
      Allow from all 
    </Directory> 

    <Directory /> 
      Order allow,deny 
      Allow from all 

      RewriteEngine On 
      # Some rewrites go here 

    </Directory> 

</VirtualHost> 

有了這個設置,我們就可以進入主應用程序文件,rest.py(http://myhost/app下),但任何進口模塊(像from module1 import function其中module1與rest.py位於同一目錄下)失敗,出現ImportError

我懷疑這與必須設置某種環境變量有關,但我在主應用程序方法中添加了/var/www/pythonsys.path,它不起作用。任何幫助或指針與此將非常感激。

謝謝!

+0

重複的http://serverfault.com/questions/445636/error-importing-python-modules-in-mod-wsgi –

回答

6

是/ var/www/python或/ var/www/python/resource下的rest.py?據我所知,將此目錄添加到sys.path應該工作。優選使用字符串常量如下:

sys.path.append(os.path.dirname(__file__)) 

即使您決定將來部署到其他位置,這也應該可以工作。

+0

好吧,一定會給這個旋風。當我可以的時候,我會更新。謝謝! –