Django ModuleNotFoundError:没有名为';我的项目&x27;

Django ModuleNotFoundError:没有名为';我的项目&x27;,django,ubuntu,gunicorn,digital-ocean,daemon,Django,Ubuntu,Gunicorn,Digital Ocean,Daemon,运行systemctl status gunicorn.service会提供以下输出: ● gunicorn.service - gunicorn daemon Loaded: loaded (/etc/systemd/system/gunicorn.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Fri 2020-10-16 14:46:53 UTC; 4s ago Tri

运行
systemctl status gunicorn.service
会提供以下输出:

● gunicorn.service - gunicorn daemon
 Loaded: loaded (/etc/systemd/system/gunicorn.service; enabled; vendor preset: enabled)
 Active: failed (Result: exit-code) since Fri 2020-10-16 14:46:53 UTC; 4s ago
TriggeredBy: ● gunicorn.socket
    Process: 61433 ExecStart=/home/myname/My-Project/env/bin/gunicorn --access-logfile - --workers 3 --bind unix:/run/gunicorn.sock My-Project.wsgi:application (code=exited, st>
   Main PID: 61433 (code=exited, status=3)

Oct 16 14:46:53 django-ubuntu-pleasehelpme gunicorn[61446]:   File "<frozen importlib._bootstrap>", line 991, in _find_and_load
Oct 16 14:46:53 django-ubuntu-pleasehelpme gunicorn[61446]:   File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
Oct 16 14:46:53 django-ubuntu-pleasehelpme gunicorn[61446]:   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
Oct 16 14:46:53 django-ubuntu-pleasehelpme gunicorn[61446]:   File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
Oct 16 14:46:53 django-ubuntu-pleasehelpme gunicorn[61446]:   File "<frozen importlib._bootstrap>", line 991, in _find_and_load
Oct 16 14:46:53 django-ubuntu-pleasehelpme gunicorn[61446]:   File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
Oct 16 14:46:53 django-ubuntu-pleasehelpme gunicorn[61446]: ModuleNotFoundError: No module named 'My-Project'
Oct 16 14:46:53 django-ubuntu-pleasehelpme gunicorn[61446]: [2020-10-16 14:46:53 +0000] [61446] [INFO] Worker exiting (pid: 61446)
Oct 16 14:46:53 django-ubuntu-pleasehelpme gunicorn[61433]: [2020-10-16 14:46:53 +0000] [61433] [INFO] Shutting down: Master
Oct 16 14:46:53 django-ubuntu-pleasehelpme gunicorn[61433]: [2020-10-16 14:46:53 +0000] [61433] [INFO] Reason: Worker failed to boot.
这是我的wsgi.py:

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'DMy-Project.settings')
sys.path.append('/home/myname/My-Project/app')

application = get_wsgi_application()
如果您需要更多信息,请联系我-我是dev的新手

我试过:

我的目录:

My-Project
 - ./
 - ../
 - .DS_Store   
 - .git/
 - .idea/
 - .travis.yml
 - Dockerfile
 - docker-compose.yml
 - env/ ( ./    ../    bin/    include/    lib/    lib64 -> lib/    pyvenv.cfg    share/)
 - requirements.txt
 - app/ ( ./  ../  .flake8  1  db.sqlite3  env  manage.py*  static/ app/ (./ ../    __init__.py    __pycache__/ asgi.py settings.py urls.py wsgi.py))

我和你有同样的问题。 我使用的是Django版本3.1.5。因为Django目录结构中只有以下内容:

  • manage.py
  • 项目名称:u_u_u_u_u.py、asgi.py、settings.py、url.py、wsgi.py
  • requirements.txt
  • myapp.py:__;init__;.py、admin.py、apps.py、models.py、tests.py、url.py、views.py、迁移
在wsgi.py中,您忘记导入系统:

import os
import sys

from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'DMy-Project.settings')
sys.path.append('/home/myname/My-Project/app')

application = get_wsgi_application()
但是
sys.path.append(…)
实际上它不是必需的。 之后,您可以使用以下简单命令测试gunicorn:

gunicorn项目名称。wsgi:应用程序--日志文件-

即使没有名为project-name.wsgi的文件,gunicorn也会在project-name子目录中自动调用文件wsgi.py。

其他信息,在开发模式下,如果您想让django识别静态文件夹,请将其添加到项目名称子目录内的url.py中(这是来自的答案):


请发布您的项目目录结构截图。django中的ModuleNotFind通常意味着您没有在
settings.py
中的
INSTALLED\u APPS
中添加特定的应用程序,因此请尝试在该列表的末尾添加
'My-Project'
,感谢您对@quqa123的评论,尝试添加该应用程序,但仍会收到相同的错误。我在我的问题中添加了“编辑我的目录”——实际上,你没有一个名为“我的项目”的模块——你的“主应用程序”被称为
app
——典型的惯例是将其称为与项目相同的模块。因此,请尝试将
os.environ.setdefault('DJANGO\u SETTINGS\u MODULE','DMy Project.SETTINGS')
(我希望开头的D只是一个输入错误)更改为
os.environ.setdefault('DJANGO\u SETTINGS\u MODULE','app.SETTINGS')
[link]()另外,请尝试将Gunicorn设置更改为
app.wsgi:application
,我不保证这会有助于解释为什么我要评论而不是answering@quqa123现在我只得到
ModuleNotFoundError:没有名为'app'的模块
import os
import sys

from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'DMy-Project.settings')
sys.path.append('/home/myname/My-Project/app')

application = get_wsgi_application()
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

# ... the rest of your URLconf goes here ...

urlpatterns += staticfiles_urlpatterns()