python - Django 部署到 Heroku 没有名为 'django_heroku' 的模块
问题描述
我正在尝试部署到 Heroku,在此错误之前我得到了:
ModuleNotFoundError:没有名为“django-tables2”的模块
然后我通过 pip install django-heroku 安装了 django-heroku,按照如何设置它的说明进行操作。
我禁用了 heroku 的 collect static 推送了我的 master 分支,一切都很好,但是一旦我这样做了:
heroku run python manage.py migrate
我得到:
ModuleNotFoundError: No module named 'django_heroku'
完整的追溯是这样的:
Traceback (most recent call last):
File "manage.py", line 21, in <module>
main()
File "manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "/app/.heroku/python/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line utility.execute()
File "/app/.heroku/python/lib/python3.7/site-packages/django/core/management/__init__.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/app/.heroku/python/lib/python3.7/site-packages/django/core/management/base.py", line 341, in run_from_argv
connections.close_all()
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/utils.py", line 225, in close_all
for alias in self:
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/utils.py", line 219, in __iter__
return iter(self.databases)
File "/app/.heroku/python/lib/python3.7/site-packages/django/utils/functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/utils.py", line 153, in databases
self._databases = settings.DATABASES
File "/app/.heroku/python/lib/python3.7/site-packages/django/conf/__init__.py", line 76, in __getattr__
self._setup(name)
File "/app/.heroku/python/lib/python3.7/site-packages/django/conf/__init__.py", line 63, in _setup
self._wrapped = Settings(settings_module)
File "/app/.heroku/python/lib/python3.7/site-packages/django/conf/__init__.py", line 142, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/app/.heroku/python/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
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 "/app/GPC/settings.py", line 14, in <module>
import django_heroku
ModuleNotFoundError: No module named 'django_heroku'
我在顶部的设置中有:
import os
import django_heroku
在最底层:
django_heroku.settings(locals())
在我的 requirements.txt 我有 django-heroku
主分支已更新,我只能找到解决此问题的方法。
解决方案
问题是它没有添加到模块中,需要将它添加到虚拟环境中并执行 pip freeze,这样它就解决了。
推荐阅读
- assembly - 带余数的小人计算机整数除法
- docker - 如何在我的 docker 配置中包含卷?
- python - 通过 super 调用父类与父类名称之间的区别?
- python - 用python求解非方阵:如何使用numpy.linalg.lstsq()?
- java - 如何使用 Java 减去两个系统时间
- javascript - 对象值的笛卡尔积(到数组)
- html - 单击插入时更改文本
- google-chrome - 尽管“webstore不能由扩展编写脚本”,如何将webstore URL传递给扩展
- r - 使用模数将数字转换为字母
- python - 如何在不获取整个表格的情况下进行分页?