2017-09-20 9 views
1

私は簡単なPythonアプリケーションでPythonAnywhereを設定しようとしていますが、WSGI設定が正しくインポートできないようですが、何が間違っていますか?あなたはWSGIファイルからあなたweb.pyアプリケーションをインポートするとき、それはif __name__ == "__main__":セクションには何も実行しません - ここWSGI設定ファイルでPython変数を見つけることができないのはなぜですか?

#!/usr/bin/python3.6 

import sys 

path = "/home/myUsername" 
if path not in sys.path: 
    sys.path.append(path) 

from myPythonFileNameInSameDir import app as application 
application.wsgifunc() 
+1

'__name__'のみPythonスクリプトであれば、 "メイン" に等しく、直接実行されています。インポートしている場合、 '__name__'は「main」ではないので、' app'は存在しません。 –

答えて

2

PythonAnywhere devのは、次のように

#!/usr/bin/python3.6 

import web 
import urllib 
from xml.dom import minidom 

... [code] ... 

if __name__ == "__main__": 
    app = web.application(urls, globals()) 
    app.run() 
    #app.wsgifunc() 

と私のWSGIです。

あなたはアプリでこれを実行する必要があります。

#!/usr/bin/python3.6 

import web 
import urllib 
from xml.dom import minidom 

... [code] ... 

app = web.application(urls, globals()) 

if __name__ == "__main__": 
    app.run() 

...とWSGIファイルで、この:

#!/usr/bin/python3.6 

import sys 

path = "/home/myUsername" 
if path not in sys.path: 
    sys.path.append(path) 

from myPythonFileNameInSameDir import app 
application = app.wsgifunc() 
+0

優秀!すべて今、意味があります。ありがとうございました –

関連する問題