将Django部署到Heroku时:ModuleNotFoundError:没有名为“env”的模块

2024-04-20 01:11:53 发布

您现在位置:Python中文网/ 问答频道 /正文

将Django部署到Heroku时,我得到一个ModuleNotFoundError:没有名为'env'的模块错误

有人知道为什么要找那个模块吗

以下是我的requirements.txt:

asgiref==3.2.3
certifi==2020.12.5
chardet==3.0.4
dj-database-url==0.5.0
Django==1.11
django-forms-bootstrap==3.1.0
gunicorn==20.0.4
idna==2.10
Pillow==5.3.0
psycopg2==2.8.6
pytz==2020.4
requests==2.25.0
sqlparse==0.4.1
stripe==2.55.1
urllib3==1.26.2
whitenoise==5.2.0

以下是Heroku的构建日志:

File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/__init__.py", line 363, in execute_from_command_line
           utility.execute()
         File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/__init__.py", line 307, in execute
           settings.INSTALLED_APPS
         File "/app/.heroku/python/lib/python3.6/site-packages/django/conf/__init__.py", line 56, in __getattr__
           self._setup(name)
         File "/app/.heroku/python/lib/python3.6/site-packages/django/conf/__init__.py", line 41, in _setup
           self._wrapped = Settings(settings_module)
         File "/app/.heroku/python/lib/python3.6/site-packages/django/conf/__init__.py", line 110, in __init__
           mod = importlib.import_module(self.SETTINGS_MODULE)
         File "/app/.heroku/python/lib/python3.6/importlib/__init__.py", line 126, in import_module
           return _bootstrap._gcd_import(name[level:], package, level)
         File "<frozen importlib._bootstrap>", line 994, in _gcd_import
         File "<frozen importlib._bootstrap>", line 971, in _find_and_load
         File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
         File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
         File "<frozen importlib._bootstrap_external>", line 678, in exec_module
         File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
         File "/tmp/build_ae2377c8_/issuetracker/settings.py", line 15, in <module>
           import env
       ModuleNotFoundError: No module named 'env'
 !     Error while running '$ python 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

Tags: djangoinpyappherokuinitlibpackages
2条回答

我记得现在该如何解决这个问题了。我需要添加到我的设置文件:

    if os.path.exists('env.py'):
        import env

赫罗库又开始工作了

谢谢你的回答

从settings.py文件中删除import env代码并运行此代码

heroku config:set DISABLE_COLLECTSTATIC=1

相关问题 更多 >