J'ai mis en place un virtualenv pour exécuter un serveur flask. J'ai suivi les étapes pour mettre en place wfastcgi pour travailler avec iis. Il semble fonctionner, car je suis capable d'accéder à l'application python, mais une pile d'erreurs python est imprimée.Flask App sur IIS avec wfastcgi virtualenv - Package non trouvé
Une erreur est survenue lors de la lecture gestionnaire WSGI:
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
Je pense que cela a à voir avec la façon dont j'ai installé flask_restless. Je l'ai installé en utilisant
pip install -e git://github.com/jfinkels/flask-restless.git#egg=flask_restless
qui ne semble pas ajouter flask_restless au répertoire Lib/site-packages. Mais ce n'est pas un problème lorsque je lance l'application manuellement.
Voici mon 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>
Et mon flask_app.py est la suivante:
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
aide de la touche = « PYTHONPATH » Figé un problème que j'ai lutté avec pendant des semaines. Je vous remercie! – Ari