【问题标题】:Getting Error => ModuleNotFoundError: No module named 'django' When I attempt to deploy my django app to heroku出现错误 => ModuleNotFoundError: No module named 'django' 当我尝试将我的 django 应用程序部署到 heroku
【发布时间】:2021-08-11 19:13:37
【问题描述】:

当我尝试将我的 django 应用部署到 heroku 时,部署将失败并显示以下错误消息

Traceback (most recent call last):

  File "manage.py", line 11, in main

    from django.core.management import execute_from_command_line

ModuleNotFoundError: No module named 'django'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):

  File "manage.py", line 23, in <module>

    main()

  File "manage.py", line 13, in main

    raise ImportError(

ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

这是我的 requirements.txt

asgiref==3.3.4
dj-database-url==0.5.0
Django==3.2.3
django-cors-headers==3.7.0
django-on-heroku==1.1.2
djangorestframework==3.12.4
gunicorn==20.1.0
psycopg2-binary==2.8.6
python-dotenv==0.17.1
pytz==2021.1
sqlparse==0.4.1
whitenoise==5.2.0

我的档案

release: python3 manage.py migrate
web: gunicorn app_name.wsgi --log-file -

以及构建包(使用 nodejs 作为前端)

1. heroku/nodejs
2. heroku/python

我尝试从 CLI 和 github 存储库部署应用程序。两者都会导致相同的错误。

如果需要,我很乐意提供该项目的任何其他信息。

如何解决此错误,以便我的应用能够成功部署?

更新

我将我的 Procfile 编辑为以下内容

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

当我尝试使用此 Procfile 进行部署时,我的 heroku 日志中出现以下错误

app[web.1]: bash: gunicorn: command not found

所以 Heroku 似乎无法使用我在 requirements.txt 中列出的任何包。关于为什么会发生这种情况的任何猜测?

【问题讨论】:

    标签: python django web heroku deployment


    【解决方案1】:

    已解决!

    我的项目中有一个 Pipfile 和一个 requirements.txt。 Heroku 似乎默认读取 Pipfile 来查找依赖项。我只是使用 requirements.txt 来列出我的依赖项,而我的 Pipfile 没有列出任何依赖项。

    解决方案:删除 Pipfile,一切正常!

    【讨论】:

      猜你喜欢
      • 2020-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-15
      • 2020-03-07
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      相关资源
      最近更新 更多