[英]Django / Heroku Deploying - ModuleNotFoundError: "No module named 'django'"
[英]ModuleNotFoundError: "No module named <mymodule>", when deploying to Heroku from Django
將我的 Django 應用程序部署到 Heroku 時,我收到一個 ModuleNotFoundError ,指出“沒有名為 'RealisticEstate' 的模塊”。 RealisticEstate 是我的 Django 項目的名稱。 該程序構建沒有問題,但是當我嘗試部署時,出現以下錯誤:
[2021-05-13 21:35:45 -0400] [15610] [INFO] Starting gunicorn 20.1.0
9:35:45 PM web.1 | [2021-05-13 21:35:45 -0400] [15610] [INFO] Listening at:
http://0.0.0.0:5000 (15610) 9:35:45 PM web.1 | [2021-05-13 21:35:45 -0400] [15610] [INFO] Using worker: sync
9:35:45 PM web.1 | [2021-05-13 21:35:45 -0400] [15613] [INFO] Booting worker with pid: 15613
9:35:45 PM web.1 | [2021-05-13 21:35:45 -0400] [15613] [ERROR] Exception in worker process
9:35:45 PM web.1 | Traceback (most recent call last):
9:35:45 PM web.1 | File "/Users/<user>/RealisticEstate/venv/lib/python3.9/site- packages/gunicorn/arbiter.py", line 589, in spawn_worker
9:35:45 PM web.1 | worker.init_process()
9:35:45 PM web.1 | File "/Users/<user>/RealisticEstate/venv/lib/python3.9/site-packages/gunicorn/workers/base.py", line 134, in init_process
9:35:45 PM web.1 | self.load_wsgi()
9:35:45 PM web.1 | File "/Users/<user>/RealisticEstate/venv/lib/python3.9/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
9:35:45 PM web.1 | self.wsgi = self.app.wsgi()
9:35:45 PM web.1 | File "/Users/<user>/RealisticEstate/venv/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
9:35:45 PM web.1 | self.callable = self.load()
9:35:45 PM web.1 | File "/Users/<user>/RealisticEstate/venv/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
9:35:45 PM web.1 | return self.load_wsgiapp()
9:35:45 PM web.1 | File "/Users/<user>/RealisticEstate/venv/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
9:35:45 PM web.1 | return util.import_app(self.app_uri)
9:35:45 PM web.1 | File "/Users/<user>/RealisticEstate/venv/lib/python3.9/site-packages/gunicorn/util.py", line 359, in import_app
9:35:45 PM web.1 | mod = importlib.import_module(module)
9:35:45 PM web.1 | File "/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/__init__.py", line 127, in import_module
9:35:45 PM web.1 | return _bootstrap._gcd_import(name[level:], package, level)
9:35:45 PM web.1 | File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
9:35:45 PM web.1 | File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
9:35:45 PM web.1 | File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
9:35:45 PM web.1 | File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
9:35:45 PM web.1 | File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
9:35:45 PM web.1 | File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
9:35:45 PM web.1 | File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
9:35:45 PM web.1 | ModuleNotFoundError: No module named 'RealisticEstate'
我的Procfile如下:
web: gunicorn RealisticEstate.wsgi
我的 Heroku 項目被命名為“realisticestate”,但是當我嘗試將我的 Procfile 更改為:
web: gunicorn realisticestate.wsgi
它會引發相同的錯誤。
這是項目結構:
RealisticEstate
|___config
| |___static
| | |___admin
| | |___css
| | |___font
| | |___img
| | |___js
| |___ __init__.py
| |___ asgi.py
| |___ settings.py
| |___ urls.py
| |___ wsgi.py
|
|___mapper
| |___ migrations
| |___ utils
| | |___ __init.py__
| | |___ update_db.py
| |___ __init.py__
| |___ admin.py
| |___ apps.py
| |___ forms.py
| |___ models.py
| |___ tests.py
| |___ urls.py
| |___ views.py
| |___ staticfiles
|
|___ templates
|___ venv
|___ .gitignore
|___ manage.py
|___ models.py
|___ Procfile
|___ requirements.txt
任何幫助將不勝感激
只有 git 根目錄 ( RealisticEstate
) 中的內容將被推送到 Heroku,而不是目錄本身。 您的 wsgi 文件是config/wsgi.py
因此您應該使用:
web: gunicorn config.wsgi
確實,您需要將 project_name 放在您的 Procfile 中,並且因為始終包含所有文件夾的文件夾與wsgi.py 存在的文件夾具有相同的名稱。您的 Procfile應該指向,但在您的情況下,您命名它配置所以它應該是:
web: gunicorn config.wsgi
我個人是這樣添加的:
web: gunicorn config.wsgi --log-file -
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.