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

回答 4 浏览 1万 2022-10-02

我做了一个部署到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
Lutaaya Huzaifah Idris 提问于2022-10-02
你能不能在这里粘贴一下markdown来源的网址呢?user1438644 2022-10-02
4 个回答
#1楼 已采纳
得票数 65

因为importlib-metadata昨天发布了v5.0.0,它删除了被废弃的端点。

你可以在你的setup.py中设置importlib-metadata<5.0,这样它就不会安装最新的版本了。

或者,如果你使用requirements.txt,你也可以将importlib-metadata设置在版本5.0以下,例如importlib-metadata==4.13.0

欲了解更多信息。https://importlib-metadata.readthedocs.io/en/latest/history.html

mxhiu 提问于2022-10-03
Lutaaya Huzaifah Idris 修改于2022-10-04
这很有效,谢谢。我注意到importlib-metadata在错误的堆栈跟踪中,决定试试你的解决方案。adib 2022-10-03
我仍然对setup.py感到困惑,因为我正在使用Django的requirements.txt,我应该在这里设置importlib-metadata==4.13.0吗?Lutaaya Huzaifah Idris 2022-10-03
它终于成功了Lutaaya Huzaifah Idris 2022-10-03
当使用xarray.open_dataset()时,这也会产生一个问题。GMc 2022-10-04
通过shadow安装最新版本的import-lib解决了celery的问题VMAtm 2022-10-04
#2楼
得票数 6

如果你使用Redash的某些分支,甚至是官方的Redash,你需要在requirements_bundles.txt中将其importlib-metadata4.12.0绑定在一起。

Zach 提问于2022-10-04
Sunderam Dubey 修改于2022-10-09
#3楼
得票数 5

我在Google App Engine上运行Django,也遇到了同样的错误。

我检查了源码,发现错误发生在一个内置的Python函数中。

我更新到了Python 3.9,这个错误得到了解决。

我最初使用的是Python 3.7。

我不知道这是否有帮助,但仅供参考。

hamaike 提问于2022-10-03
#4楼
得票数 3

由于importlib-metadata发布了v5.0.0,它删除了废弃的端点。所以请使用旧版本,不要安装最新版本。

!pip install importlib-metadata==4.13.0

在终端/Collab中使用这个方法来获取旧版本(v4.13.0)。

piyush jain 提问于2022-10-17
!pip install importlib-metadata==4.13.0将解决这个问题。对于那些在Google Colab中使xarray工作的问题,它也会起作用。Jovi Dsilva 2022-10-18