2016-06-28 3 views
0

私はスーパーバイザの助けを借りて起動時にフラスコサーバーを起動しようとしています。私は問題がなければ、私のflaskserverを開始することができますフラスコを起動するスーパーバイザを使用してサーバーを起動する:致命的すぎる終了しました

[program:python_auutostart] 
user=nobody 
command = python run.py 
directory = /home/flaskserver/ 
autostart = true 
autorestart = true 
stderr_logfile=/etc/supervisor/long.err.log 
stdout_logfile=/etc/supervisor/long.out.log 

:これは私の.confである

Traceback (most recent call last): 
    File "run.py", line 2, in <module> 
    from app import app 
    File "/home/flaskserver/app/__init__.py", line 1, in <module> 
    from flask import Flask 
ImportError: No module named flask 

:これは私のログファイル内のエントリがある

python_auutostart    FATAL  Exited too quickly (process log may have details) 

:しかし、私は、このエラーメッセージが表示されます私は./run.pyを実行しますが、スーパーバイザーと一緒に走らせることはできません。私はなぜ私が投稿したImportErrorを得るのかわかりません。たぶんsome1私の問題に私をここで指摘することができます。

+0

フラスコがインストールされているvirtualenvにいる必要があります – Chathuranga

+0

.confファイルを私のvirutalenvに移動しましたが、まだ同じエラーが表示されます – IIIIIIIIIIIIIIIIIIIIII

+1

virtualenvからpythonを使用する必要があります。したがって、 '/ path/to/virtualenv/env/bin/python'のようなものを使用してください。 – syntonym

答えて

2

あなたが使用するpythonはデフォルトのシステムpythonです(which python/usr/bin/pythonのようなものを表示するか、システムのPythonがどこにあるかを確認できます)。これは、仮想環境にインストールされているライブラリには(デフォルトでは)アクセスできません。代わりに、virtualenvに固有のPythonを使うべきです。 /path/to/virtualenv/env/bin/pythonにあるはずのPythonを明示的に呼び出すことで、これを行うことができます。これを確認するにはvirtualenvを有効にして、which pythonにvirtualenvのpythonへのパスを出力する必要があります。

関連する問題