“EntryPoints”对象没有“get”属性 - 数字海洋

72

我已经将应用部署到了Digital Ocean,而在测试阶段(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

3
请问您能否在这里粘贴Markdown源的URL链接?谢谢。 - Narcisse Doudieu Siewe
6个回答

111

因为 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


这个可行,谢谢。我注意到importlib-metadata在错误的堆栈跟踪中,决定尝试您的解决方案。 - adib
最终它成功了。 - Lutaaya Huzaifah Idris
1
当使用xarray.open_dataset()时,这也会创建一个问题。 - GMc
1
解决了celery的问题,使用最新版本的import-lib进行了影子安装。 - VMAtm
!pip install importlib-metadata==4.13.0 可以解决这个问题。对于在 Google Colab 中无法正常使用 xarray 的用户也适用。 - Jovi DSilva
显示剩余3条评论

13

13

随着importlib-metadata发布了v5.0.0版本,它删除了不推荐使用的端点。因此请使用旧版本并不要安装最新版。

!pip install importlib-metadata==4.13.0

在终端/Collab中使用此命令以获取较旧版本(v4.13.0)。


!pip install importlib-metadata==4.13.0 可以解决这个问题。对于那些在Google Colab中遇到xarray无法工作的问题也适用。 - Jovi DSilva

8

我在Google App Engine上运行Django时遇到了相同的错误。

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

我升级到Python 3.9后,错误得到了解决。

我最初使用的是Python 3.7。

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


1

非常好用!

!pip install importlib-metadata==4.13.0


此解决方案已在另一个答案中提供。如果您有任何不同的解决方案,请提出。如果原始答案需要进行任何更改/扩展,则请编辑它。 - Azhar Khan

1

在@Zach的答案中补充一点:

如果你正在使用某些分支的Redash甚至是官方版本,你需要将其importlib-metadata固定在requirements_bundles.txt中的4.13.0。

如果你正在运行docker,请不要忘记重新构建你的docker容器。

docker-compose build 
docker-compose up -d

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接