2016-10-17 8 views
1

フラスコサーバーを実行するためにvirtualenvを設定しました。私はiisと一緒に働くためにwfastcgiをセットアップするための手順に従ってきました。私はPythonアプリケーションにアクセスすることができますが、Pythonエラースタックが表示されているので、動作しているようです。wfastcgi virtualenvを使用したFlaskアプリケーション - パッケージが見つかりません

Traceback (most recent call last): 
File "c:\python27\lib\site-packages\wfastcgi.py", line 793, in main 
env, handler = read_wsgi_handler(response.physical_path) 
File "c:\python27\lib\site-packages\wfastcgi.py", line 635, in read_wsgi_handler 
handler = get_wsgi_handler(os.getenv("WSGI_HANDLER")) 
File "c:\python27\lib\site-packages\wfastcgi.py", line 618, in get_wsgi_handler 
raise ValueError('"%s" could not be imported%s' % (handler_name, last_tb)) 
ValueError: "flask_app.application()" could not be imported: Traceback (most recent call last): 
File "c:\python27\lib\site-packages\wfastcgi.py", line 602, in get_wsgi_handler 
handler = __import__(module_name, fromlist=[name_list[0][0]]) 
File ".\flask_app.py", line 7, in <module> 
from app import app as application 
File ".\app\__init__.py", line 67, in <module> 
from flask_restless import APIManager 
ImportError: No module named flask_restless 

私はこれは私がflask_restlessをインストール方法に関係していと思う:WSGIハンドラを読みながら

にエラーが発生しました。

pip install -e git://github.com/jfinkels/flask-restless.git#egg=flask_restless 

フレーズ_restlessをLib/site-packagesディレクトリに追加していないようです。しかし、私は手動でアプリを実行するときは問題ではありません。

は、ここに私のweb.configファイルです:

<configuration> 
    <system.webServer> 
    <handlers> 
     <add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\Python27\python.exe|C:\Python27\Lib\site-packages\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" /> 
    </handlers> 
    </system.webServer> 

    <appSettings> 
    <!-- Required settings --> 
    <add key="WSGI_HANDLER" value="flask_app.application()" /> 
    <add key="PYTHONPATH" value="C:\www\flask_app\virtualenv\src;C:\www\flask_app\virtualenv\Lib\site-packages;C:\www\flask_app\app" /> 

    <!-- Optional settings --> 
    <add key="WSGI_LOG" value="C:\inetpub\logs\wsgi.log" /> 
    <add key="WSGI_RESTART_FILE_REGEX" value=".*((\.py)|(\.config))$" /> 
    </appSettings> 
    </configuration> 

そして、次のように私のflask_app.pyは次のとおりです。

this_file = 'C:/www/flask_app/virtualenv/Scripts/activate_this.py' 
with open(this_file) as f: 
    code = compile(f.read(), this_file, 'exec') 
    exec(code) 


from app import app as application 

答えて

2

これが正しければ、私はわかりませんが、それは私のために仕事をしました。フラスコ・レスレスの他に、wfastcgiが見つけることのできなかったいくつかのパッケージがありました。だから、これを解決するために、仮想環境を起動し、私のsys.path変数を印刷してしまいました。その後、すべてのパスをweb.configファイルのPYTHONPATHキーにコピーしました。

だから私のweb.configは次のようになります。私は数週間のために苦労してきた固定問題を設定し、キー=「PYTHONPATH」を使用して

<configuration> 
<system.webServer> 
<handlers> 
    <add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\Python27\python.exe|C:\Python27\Lib\site-packages\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" /> 
</handlers> 
</system.webServer> 

<appSettings> 
<!-- Required settings --> 
<add key="WSGI_HANDLER" value="flask_app.application" /> 
<add key="PYTHONPATH" value="C:/www/Lib/site-packages;c:/python27/lib/site-packages/fabric-1.10.2-py2.7.egg;c:/python27/lib/site-packages/paramiko-1.16.0-py2.7.egg;c:/python27/lib/site-packages/ecdsa-0.13-py2.7.egg;c:/python27/lib/site-packages/pycrypto-2.6.1-py2.7-win32.egg;c:/python27/lib/site-packages/psycopg2-2.5.2-py2.7.egg;C:/Windows/system32/python27.zip;c:/python27/DLLs;c:/python27/lib;c:/python27/lib/plat-win;c:/python27/lib/lib-tk;c:/python27;c:/python27/lib/site-packages;C:/www/flask_app/virtualenv/src;C:/www/flask_app/virtualenv/Lib/site-packages;C:/www/flask_app/app;C:\www\flask_app\virtualenv\Lib\site-packages\Flask_Restless-1.0.0b1-py2.7.egg" /> 

<!-- Optional settings --> 
<add key="WSGI_LOG" value="C:/www/flask_app/flask.log" /> 
<add key="WSGI_RESTART_FILE_REGEX" value=".*((\.py)|(\.config))$" /> 
</appSettings> 
</configuration> 
+1

。ありがとうございました! – Ari

関連する問題