'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.
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
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
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).
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
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
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.
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
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
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).
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