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、迁移
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()