У объекта 'EntryPoints' нет атрибута 'get' - Цифровой океан

Я сделал деплоймент в Digital ocean, на staging (сервер Heroku) приложение работает хорошо, но в Digital ocean оно не работает с ошибкой ниже, в чем может быть проблема :

AttributeError at /admin/
'EntryPoints' object has no attribute 'get'
Request Method: GET
Request URL:    https://xxxx/admin/
Django Version: 3.1
Exception Type: AttributeError
Exception Value:    
'EntryPoints' object has no attribute 'get'
Exception Location: /usr/local/lib/python3.7/site-packages/markdown/util.py, line 85, in <module>
Python Executable:  /usr/local/bin/python
Python Version: 3.7.5
Python Path:    
['/opt/app',
 '/usr/local/bin',
 '/usr/local/lib/python37.zip',
 '/usr/local/lib/python3.7',
 '/usr/local/lib/python3.7/lib-dynload',
 '/usr/local/lib/python3.7/site-packages',
 '/usr/local/lib/python3.7/site-packages/odf',
 '/usr/local/lib/python3.7/site-packages/odf',
 '/usr/local/lib/python3.7/site-packages/odf',
 '/usr/local/lib/python3.7/site-packages/odf',
 '/usr/local/lib/python3.7/site-packages/odf',
 '/usr/local/lib/python3.7/site-packages/odf',
 '/usr/local/lib/python3.7/site-packages/odf']
Server time:    Sun, 02 Oct 2022 21:41:00 +0000

Я запускал Django на Google App Engine и столкнулся с той же ошибкой.

Я проверил источник и обнаружил, что ошибка произошла во встроенной функции python.

Я обновил Python 3.9, и ошибка была устранена.

Изначально я использовал python 3.7.

Не знаю, поможет ли это, но к вашему сведению.

Потому что importlib-metadata вчера вышла версия 5.0.0, в которой удален устаревший конечный пункт.

Вы можете установить importlib-metadata<5.0 в вашем setup.py, чтобы он не устанавливал последнюю версию.

Для получения дополнительной информации: https://importlib-metadata.readthedocs.io/en/latest/history.html

Потому что importlib-metadata вчера выпустила версию 5.0.0, которая удаляет устаревшую конечную точку.

Вы можете установить importlib-metadata<5.0 в вашем requirement.py, чтобы он не устанавливал последнюю версию.

importlib-metadata==4.13.0

Для получения дополнительной информации: https://importlib-metadata.readthedocs.io/en/latest/history.html

Я запускаю CI с помощью Github Actions, и он не работает только в Python 3.7, с той же ошибкой: AttributeError: 'EntryPoints' object has no attribute 'get', при вызове:

xarray.open_dataset('filename.nc')

где xarray версия - xarray-0.20.2.

Python 3.8, 3.9, 3.10, похоже, не затронут.

xarray, похоже, был затронут некоторыми проблемами бэкендов в прошлом: https://github.com/pydata/xarray/issues/5944

если вы используете некоторые форки Redash или даже официальный Redash, вам нужно прикрепить его importlib-metadata к 4.12.0 в requirements_bundles.txt

Когда importlib-metadata выпустил версию 5.0.0, он удалил устаревшую конечную точку. Поэтому используйте старую версию и не устанавливайте последнюю версию.

!pip install importlib-metadata==4.13.0

Используйте это в терминале/коллаборации для получения более старой версии (v4.13.0).

Добавление к ответу @Zach:

Если вы используете некоторые форки Redash или даже официальный Redash, вам нужно прикрепить его importlib-metadata к 4.13.0 в requirements_bundles.txt.

Если вы работаете на docker, не забудьте перестроить ваши контейнеры docker.

docker-compose build 
docker-compose up -d

Работает как шарм!

!pip install importlib-metadata==4.13.0

Вернуться на верх