uWSGI 模块在命令行上调用时找到,但在使用 emperor 调用时找不到

uWSGI module found when invoked on the command line but not when invoked using emperor

我有一个在 uWSGI 下运行的 python wsgi 应用程序。

当我尝试使用 emperor 运行同一个应用程序时出现错误 -

ImportError: No module named app_thing
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. going in full dynamic mode ***

如果我直接运行 uWSGI 并指定 emperor 正在使用的相同配置文件,它会找到模块并且应用程序可以运行。

下面的 uWSGI 配置文件。

[uwsgi]
socket = 127.0.0.1:8000
workers = 1
force-cwd = /home/user/py
module = app_thing:application
protocol = http

感谢任何帮助...

好的,事实证明修复涉及设置文件而不是模块,并将目录添加到 uWSGI 配置中的 python 路径。最终配置为

    [uwsgi]
    socket = 127.0.0.1:8000
    workers = 1
    force-cwd = /home/py
    file = /home/py/app_thing.py
    pythonpath = /home/py