I have made a deplyoment to Digital ocean, on staging (Heroku server) the app is working well, but Digital ocean it's failing with the error below, what could be the issue :
AttributeError at /admin/
'EntryPoints' object has no attribute 'get'
Request Method: GET
Request URL:
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 1 5 Answers
Because importlib-metadata releases v5.0.0 yesterday which it remove deprecated endpoint.
You can set importlib-metadata<5.0 in ur setup.py so it does not install latest version.
Or if you use requirements.txt, you can as well set importlib-metadata below version 5.0 e.g importlib-metadata==4.13.0
For more info:
8If you are using certain forks of Redash or even the official Redash, you need to pin its importlib-metadata to 4.12.0 in the requirements_bundles.txt
As importlib-metadata released v5.0.0, it removed the deprecated endpoint. So Use the older version and do not install the latest version.
!pip install importlib-metadata==4.13.0Use this in the terminal/Collab to get an older version(v4.13.0).
1I was running Django on Google App Engine and encountered the same error.
I checked the source and found that the error occurred in a built-in python function.
I updated to Python 3.9 and the error was resolved.
I was originally using python 3.7.
I don't know if this helps, but FYI.
Adding to @Zach answer:
If you are using certain forks of Redash or even the official Redash, you need to pin its importlib-metadata to 4.13.0 in the requirements_bundles.txt.
If you are running on docker, don't forget to rebuild your docker containers.
docker-compose build
docker-compose up -d