Flask and uWSGI - unable to load app 0 (mountpoint='') (callable not found or import error).Flask and uWSGI - unable to load app 0 (mountpoint='') (callable not found or import error).
2023-10-11 23:28:37
質問
uWSGIを使ってFlaskを起動しようとすると、以下のようなエラーが発生します。 以下は起動方法です。
> # cd ..
> root@localhost:# uwsgi --socket 127.0.0.1:6000 --file /path/to/folder/run.py --callable app - -processes 2
以下は私のディレクトリ構造です。
-/path/to/folder/run.py
-|app
-|__init__.py
-|views.py
-|templates
-|static
の内容は
/path/to/folder/run.py
if __name__ == '__main__':
from app import app
#app.run(debug = True)
app.run()
の内容は
/path/to/folder/app/__init__.py
import os
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.login import LoginManager
#from flaskext.babel import Babel
from config import basedir
app = Flask(__name__)
app.config.from_object('config')
#app.config.from_pyfile('babel.cfg')
db = SQLAlchemy(app)
login_manager = LoginManager()
login_manager.setup_app(app)
login_manager.login_view = 'login'
login_manager.login_message = u"Please log in to access this page."
from app import views
*** Operational MODE: preforking ***
unable to find "application" callable in file /path/to/folder/run.py
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. going in full dynamic mode ***
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI worker 1 (pid: 26972, cores: 1)
spawned uWSGI worker 2 (pid: 26973, cores: 1)
どのように解決するのですか?
uWSGIは、アプリを
__main__
として読み込まないので、決して
app
(を見つけることはできません(これはアプリが名前
__main__
). 従って、それを
if __name__ == "__main__":
ブロックの外側でインポートする必要があります。
本当に簡単な変更です。
from app import app as application # for example, should be app
if __name__ == "__main__":
application.run()
これで、アプリを直接実行できるようになりました。
python run.py
で直接実行するか、uWSGIを通して実行することができます。
注意: もし
--callable myapp
を設定した場合、それを
as application
から
myapp
(デフォルトでは
uwsgi
が期待されます。
application
関連
-
[解決済み] Pythonの構文に新しいステートメントを追加することはできますか?
-
[解決済み] Pythonのインスタンス変数とクラス変数
-
[解決済み] 範囲指定された浮動小数点数のランダムな配列を生成します。
-
[解決済み] Django 1.7で初期マイグレーションからマイグレートバックする方法は?
-
[解決済み] オブジェクトのリストに特定の属性値を持つオブジェクトが含まれているかどうかをチェックする
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] Python 言語を決定するには?
-
[解決済み] Pythonの文字列書式をリストで使う
-
[解決済み] pipの依存性/必要条件をリストアップする方法はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pythonのマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] Pythonのキャッシュライブラリはありますか?
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] SQLAlchemy: 日付フィールドをフィルタリングする方法は?
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
-
[解決済み] Flaskで非同期タスクを作る
-
[解決済み] PythonのRequestsモジュールを使ってWebサイトに "ログイン "するには?