Я не могу развернуть свое веб-приложение на Heroku. Ошибка (я перечислил их ниже) показывает много вещей, из которых я понимаю, что требуется psycopg2 = 2.7.2 и версия python 3.6. Но в моем файле require.txt, когда я замораживаю pip, появляется psycopg2 = 2.8.3, и для разработки веб-приложения я использовал python 3.7.4. Поэтому я ввожу версию Python 3.7.4 в файл runtime.txt. Теперь мой вопрос: означают ли приведенные ниже ошибки, что мне нужно упомянуть psycopg2 = 2.7.2 и python = 3.6. (Версия)?
Но когда я это сделаю, psycopg2 = 2.7.2 и python =3.6.8, на самом первом шаге толкание не выполняется (git push Heroku master
). Что мне делать?
Это мой файл require.txt
dj-database-url==0.5.0
Django==2.0.13
django-heroku==0.3.1
gunicorn==19.9.0
psycopg2==2.8.3
pytz==2019.2
whitenoise==4.1.4
Это мой файл runtime.txt python-3.7.4
Это мой Procfile web: gunicorn mysite.wsgi --log-file -
когда я запускаю heroku ps:scale web=1
, он показывает Scaling dynos... done, now running web at 1:Free
, но после запуска heroku open
он показывает ошибки. При получении журналов, heroku logs --tail
, когда я перехожу по указанной ссылке в истории журнала, я получаю следующие ошибки.
-----> Python app detected
-----> Installing requirements with pip
Collecting psycopg2==2.7.2 (from -r /tmp/build_323b8a662b13c10001fe839be236c115/requirements.txt (line 6))
Downloading https://files.pythonhosted.org/packages/d2/5a/6c2fe0b4671c81e7525c737d6600a5c82b7550a5f2dff8a01afb616dbbf4/psycopg2-2.7.2-cp36-cp36m-manylinux1_x86_64.whl (2.7MB)
Installing collected packages: psycopg2
Found existing installation: psycopg2 2.8.3
Uninstalling psycopg2-2.8.3:
Successfully uninstalled psycopg2-2.8.3
Successfully installed psycopg2-2.7.2
-----> $ python manage.py collectstatic --noinput
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/postgresql/base.py", line 20, in <module>
import psycopg2 as Database
File "/app/.heroku/python/lib/python3.6/site-packages/psycopg2/__init__.py", line 50, in <module>
from psycopg2._psycopg import ( # noqa
ImportError: /app/.heroku/python/lib/python3.6/site-packages/psycopg2/.libs/libresolv-2-c4c53def.5.so: symbol __res_maybe_init version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "manage.py", line 15, in <module>
execute_from_command_line(sys.argv)
File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
utility.execute()
File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/__init__.py", line 347, in execute
django.setup()
File "/app/.heroku/python/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/app/.heroku/python/lib/python3.6/site-packages/django/apps/registry.py", line 112, in populate
app_config.import_models()
File "/app/.heroku/python/lib/python3.6/site-packages/django/apps/config.py", line 198, in import_models
self.models_module = import_module(models_module_name)
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 "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/auth/models.py", line 2, in <module>
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/auth/base_user.py", line 47, in <module>
class AbstractBaseUser(models.Model):
File "/app/.heroku/python/lib/python3.6/site-packages/django/db/models/base.py", line 114, in __new__
new_class.add_to_class('_meta', Options(meta, app_label))
File "/app/.heroku/python/lib/python3.6/site-packages/django/db/models/base.py", line 315, in add_to_class
value.contribute_to_class(cls, name)
File "/app/.heroku/python/lib/python3.6/site-packages/django/db/models/options.py", line 205, in contribute_to_class
self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
File "/app/.heroku/python/lib/python3.6/site-packages/django/db/__init__.py", line 33, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "/app/.heroku/python/lib/python3.6/site-packages/django/db/utils.py", line 202, in __getitem__
backend = load_backend(db['ENGINE'])
File "/app/.heroku/python/lib/python3.6/site-packages/django/db/utils.py", line 110, in load_backend
return import_module('%s.base' % backend_name)
File "/app/.heroku/python/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/postgresql/base.py", line 24, in <module>
raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: /app/.heroku/python/lib/python3.6/site-packages/psycopg2/.libs/libresolv-2-c4c53def.5.so: symbol __res_maybe_init version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference
! 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