首页 > 解决方案 > django-heroku 和 psycopg2 已安装,但显示“import django_heroku ModuleNotFoundError: No module named 'django_heroku'”

问题描述

首先我安装了 psycopg2 然后 django_heroku。

设置.py

import django_heroku
import os
---
---
django_heroku.settings(locals())

这是我在虚拟环境中安装的要求。

要求.txt

asgiref==3.2.7
certifi==2020.4.5.1
chardet==3.0.4
dj-database-url==0.5.0
Django==3.0.5
django-contrib-comments==1.9.2
django-heroku==0.3.1
gunicorn==20.0.4
idna==2.9
psycopg2==2.7.5
pytz==2020.1
requests==2.23.0
six==1.15.0
sqlparse==0.3.1
urllib3==1.25.9
whitenoise==5.1.0

推入heroku master后显示。

活动日志

      File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
         File "<frozen importlib._bootstrap>", line 983, in _find_and_load
         File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
         File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
         File "<frozen importlib._bootstrap_external>", line 728, in exec_module
         File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
         File "/tmp/build_e4e9cada1e303d2ab0fdd618bffc8af4/covid19/covid19/settings.py", line 13, in <module>
           import django_heroku
       ModuleNotFoundError: No module named 'django_heroku'
 !     Error while running '$ python covid19/manage.py collectstatic --noinput'.
       See traceback above for details.
       You may need to update application code to resolve this error.
       Or, you can disable collectstatic for this application:
          $ heroku config:set DISABLE_COLLECTSTATIC=1
       https://devcenter.heroku.com/articles/django-assets
 !     Push rejected, failed to compile Python app.
 !     Push failed

其他问题出现在这里,“ModuleNotFoundError: No module named 'covid19.wsgi'”。但我在我的 Procfile 中使用了它。

档案

web: gunicorn covid19.wsgi 

标签: djangoheroku

解决方案


在了解了根目录后,我已经解决了这个问题。我的项目不在根目录中。

当我通过命令创建项目时

django-admin startproject projectname

它创建两个文件夹 projectname -> projectname

但是,如果我们这样指挥。

django-admin startproject projectname .

它只创建一个文件夹文件夹 projectname,其中 manage.py 保留。

它是根目录。所以,我复制了所有应用程序和其他文件和文件夹并粘贴到根文件夹中,然后它就可以工作了。


推荐阅读