2

pythonpathでuwsgiを使用してdjangoを使用すると問題が発生します。

/ sites /django/ディレクトリである「project」という名前のdjangoプロジェクトがあります

したがって、uwsgiを起動するには、次のコマンドを使用します。

/opt/uwsgi/uwsgi -s 127.0.0.1:9001 -C -M 4 -t 30 -A 4 -p 4 -d /var/log/uwsgi.log --pythonpath '/sites/django/project/' --module wsgi

私が/sites/ django / project'にいる場合、それは機能します。

Pythonシェルを起動して、次のように記述した場合:

import sys
sys.path.append('/sites/django/project/')
import wsgi

それも機能します。

しかし、/ sites / django / project /の外でuwsgiコマンドを起動すると、エラーが発生します:

ImportError:wsgiという名前のモジュールがありません

だから私はなぜImportErrorを持っているのか分かりません:それはシェルで動作します。

誰かがアイデアを持っているなら、ありがとう。

まあ、私は答えを見つけました、それはバグのようです、そして私は私のコマンドに「-i」オプション(シングルインタープリターモード)を追加しなければなりません。

4

2 に答える 2

1

ドキュメントは、2 つの可能性を示唆しているようです。

まず、python パス引数から一重引用符を削除します。第二に、リンクされたページの例には--python-path代わりがあり--pythonpathます(ページの上部にあるインデックスにはそうではありませんが)。試してみる価値があります。

于 2010-08-12T03:29:49.977 に答える
0

virtualenv を使用している場合は、-H フラグ ( http://projects.unbit.it/uwsgi/wiki/VirtualEnv )を渡す必要があります。

于 2012-06-07T22:39:08.333 に答える