'EntryPoints' object has no attribute 'get' – Digital ocean

Question:

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:    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

Answers:

I 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.

Answered By: hamaike

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: https://importlib-metadata.readthedocs.io/en/latest/history.html

Answered By: mxhiu

If 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

Answered By: Zach

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.0

Use this in the terminal/Collab to get an older version(v4.13.0).

Answered By: piyush jain

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

Upgrade your flake8. The newest versions do not hit this issue – @AmaJayJB

Answered By: cclauss
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.