当我使用带有uwsgi的django和pythonpath时,我遇到了问题。
我有一个名为'project'的django项目,它是/ sites / 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 shell并且我写道:
import sys
sys.path.append('/sites/django/project/')
import wsgi
它也有效。
但是当我在/ sites / django / project /之外启动uwsgi命令时出现错误:
ImportError:没有名为wsgi的模块
所以我不知道为什么我有ImportError:它在shell中工作。
如果有人有想法, 感谢。
好吧,我找到了答案,似乎这是一个错误,我必须在我的命令中添加“-i”选项(单个解释器模式)。
答案 0 :(得分:1)
documentation似乎提出了两种可能性。
首先,从python path参数中删除单引号。其次,链接页面上的示例包含--python-path
而不是--pythonpath
(即使页面顶部的索引另有说明)。值得一试。
答案 1 :(得分:0)
如果您使用的是virtualenv,则需要传入-H标志(http://projects.unbit.it/uwsgi/wiki/VirtualEnv)