Python ModuleNotFoundError:“;没有名为<;mymodule>&引用;,从Django部署到Heroku时

Python ModuleNotFoundError:“;没有名为<;mymodule>&引用;,从Django部署到Heroku时,python,django,heroku,modulenotfounderror,Python,Django,Heroku,Modulenotfounderror,在将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 -040

在将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'
我的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

确实,您需要在Procfile中输入project_名称,因为封装所有文件夹的文件夹总是与存在wsgi.py的文件夹同名。Procfile应该指向哪个文件夹,但在您的示例中,您将其命名为config,因此它应该是:

web: gunicorn config.wsgi 
我个人这样加上:

web: gunicorn config.wsgi --log-file -

请发布项目的目录结构和
Procfile
的全部内容。上面已经更新了为什么不
config.wsgi
realisticestate.wsgi
不指向任何python文件
web: gunicorn config.wsgi --log-file -