У объекта '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