无法启动Gunicorn,ModuleNotFoundError:没有名为“ myproject.wsgi”的模块

时间:2020-06-20 18:42:23

标签: python django nginx amazon-ec2 gunicorn

这是我的文件夹结构:

Quantidade,Quantidade,Quantidade,Quantidade,Quantidade
Cliente A,Cliente B,Cliente C,Cliente D,Cliente E
1799492,1779077,3278442,2307922,3037275
2434961,2153050,2433302,2537541,1991130
3121693,2501900,1902067,2899094,2395038
2526271,2922299,2719685,3352454,2756570
2918910,3806007,2114714,2302343,2077582

我已经跑过~/myprojectdir manage.py myprojectenv/ bin/ activate gunicorn pip3 python3 ... lib/ python3.6 ... fishercoder/ fishercoder/ asgi.py urls.py settings.py wsgi.py __init__.py ... blog/ views.py urls.py models.py admin.py apps.py templates/ ... catalog/ views.py urls.py models.py admin.py apps.py templates/ ...

这是我的source myprojectenv/bin/activate文件:

/etc/systemd/system/gunicorn.service

我替换了这一行:

[Unit] Description=gunicorn daemon Requires=gunicorn.socket After=network.target [Service] User=ubuntu Group=www-data WorkingDirectory=/home/ubuntu/myprojectdir ExecStart=/home/ubuntu/myprojectdir/myprojectenv/bin/gunicorn \ --access-logfile - \ --workers 3 \ --bind unix:/run/gunicorn.sock \ myproject.wsgi:application [Install] WantedBy=multi-user.target

与此

myproject.wsgi:application或这个

fishercoder.wsgi:application

遵循此question的建议

重新启动Gunicorn。 也没有运气。

我的wsgi:application看起来像这样:

~/myprojectdir/fishercoder/wsgi.py

任何人对此一视同仁,将不胜感激!

2 个答案:

答案 0 :(得分:1)

如果您处于开发模式,则可以将virtualenv与源代码链接,以便gunicorn可以找到它。

为此,请激活您的virtualenv并以编辑模式安装项目:

source /home/ubuntu/myprojectdir/myprojectenv/bin/activate
cd /home/ubuntu/myprojectdir/fishercoder
pip install -e .

当然,您的项目目录中需要setup.py

您的wsgi文件可以处于任何级别,但通常位于根软件包中。

但是,当前,您的根软件包似乎是fishercoder,因此在配置文件中,您需要编写:fishercoder.wsgi:application

答案 1 :(得分:0)

以防万一某个人也遇到同样的问题,我可以通过将内容从HTML::Template目录复制到其父目录~/myprojectdir/fishercoder/来解除阻止自己的权限。

然后在我的~/myprojectdir/文件中更改此行

/etc/systemd/system/gunicorn.service

成为

ExecStart=/home/ubuntu/myprojectdir/myprojectenv/bin/gunicorn \
          --access-logfile - \
          --workers 3 \
          --bind unix:/run/gunicorn.sock \
          myproject.wsgi:application

显然这是很棘手的,并不理想,但是至少现在可以了。 我仍在尝试寻找一个教程来帮助我以更多的python方式设置setup.py。

相关问题