Localhost virtualenv内で単純なhello worldプログラムを使用してnginx + uWSGIを実行しましたが、helloworldを単純なFlask app :
_File "./wsgi_configuration_module.py", line 1, in <module>
from flask import Flask
ImportError: No module named flask
unable to load app mountpoint
_
これがflask app(wsgi_configuration_module.py)です:
_from flask import Flask
application = Flask(__name__)
@application.route("/")
def hello():
return "hello world"
if __name__ == "__main__":
application.run()
_
uWSGI構成(app_conf.xml):
_<uwsgi>
<socket>127.0.0.1:9001</socket>
<chdir>/srv/www/labs/application</chdir>
<pythonpath>/srv/www</pythonpath>
<module>wsgi_configuration_module</module>
<callable>application</callable>
<no-site>true</no-site>
</uwsgi>
_
nginx設定:
_server {
listen 80;
server_name localhost;
access_log /srv/www/labs/logs/access.log;
error_log /srv/www/labs/logs/error.log;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9001;
}
location /static {
root /srv/www/labs/public_html/static/;
index index.html index.htm;
}
}
_
〜/ virtual_envに保存されたvirtualenv Python 2.7 + nginx + uWSGI + Flask basic
という名前のvirtualenvにインストールされています。
私がこれを解決しようとしたこと:
--home (-H)
オプションをvirtualenvフォルダー_~/virtual_env
_に設定します。他の情報:
どこが間違っているのですか?
Uwsgiのapp_conf.xmlファイルの<pythonpath>
に仮想環境へのパスを追加するだけです。例えば:
<pythonpath>/srv/www</pythonpath>
<pythonpath>/home/user/env/lib/python2.6/site-packages</pythonpath>
<module>wsgi_configuration_module</module>
-H/-home/-virtualenvオプションは、〜記号を展開しません。絶対パスとして指定すると、機能するはずです。
同じことがconfigfilesにも当てはまるので、あなたは追加します
path_to_virtualenv