Python ImportError:没有名为';myapp';使用uwsgi启动烧瓶时
当我使用uwsgi在nginx/ubuntu服务器上加载Flask应用程序时,我得到以下跟踪:Python ImportError:没有名为';myapp';使用uwsgi启动烧瓶时,python,flask,uwsgi,Python,Flask,Uwsgi,当我使用uwsgi在nginx/ubuntu服务器上加载Flask应用程序时,我得到以下跟踪: ImportError: No module named 'myapp' 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 interpre
ImportError: No module named 'myapp'
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 ***
我的结构是这样的:
myapp/
/__init__.py
/project.ini
/wsgi.py
wsgi.py
from myapp import app
if __name__ == "__main__":
app.run(debug=True)
project.ini
[uwsgi]
module = wsgi:app
master = true
processes = 5
socket = myapp.sock
chmod-socket = 660
vacuum = true
logto = /var/www/myapp/logs/%n.log
die-on-term = true
我已尝试在ini文件中添加callable=app
。我已经尝试在wsgi.py中将应用程序别名为应用程序
在这个话题上,我看到很多关于S.O.的问题,但没有任何帮助。有什么想法吗
编辑:
结果同上
EDIT2:
/etc/systemmd/system/myapp.service
[Unit]
Description=uWSGI instance to serve myapp
After=network.target
[Service]
User=egr
Group=www-data
WorkingDirectory=/var/www/myapp
Environment="PATH=/var/www/myapp/klenv/bin"
ExecStart=/var/www/myapp/klenv/bin/uwsgi --ini project.ini
[Install]
WantedBy=multi-user.target
多亏了上面的评论,我走上了正确的道路 我需要的是这样的文件夹结构:
myapp/
/wsgi.py
myapp/
/__init.py__
我意识到我的父目录是错误的(好吧,它是好的,但我的应用程序不能在里面看到)。我需要在我设置的父目录和我的模块之间再添加一层文件夹,并使用init声明应用程序。您的工作目录是什么?尝试将
chdir=
添加到您的ini
文件中。是的,您的ini
没有问题,只是您的工作目录有问题。@Selcuk我也添加了我的服务配置。我在那里设置了“工作目录”。这也行吗?或者在ini中也需要(或者代替)?@Sraw请参见上面的评论。我已经编辑了我的问题,将服务文件包括在我想设置的地方。谢谢各位,你们的回答让我走上了正确的道路。见下面的答案。