我从 PYTHON 中的 plotly-dash 得到了一个属性错误?

What I get an attribute error from plotly-dash in PYTHON?

Here 可以看到一个Colab代码。我基本上尝试 运行 这些代码,但出现此错误。

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-16-1b48c937269f> in <module>()
----> 1 macrodemos.ARMA()

3 frames
/usr/local/lib/python3.7/dist-packages/dash/_utils.py in __setitem__(self, key, val)
    156 
    157     # pylint: disable=inconsistent-return-statements
--> 158     def first(self, *names):
    159         for name in names:
    160             value = self.get(name)

AttributeError: ('Read-only: can only be set in the Dash constructor or during init_app()', 'requests_pathname_prefix')

其实我对此一无所知,我也不是专家。你能解释一下这个问题吗?和解决方案(如果有的话)。谢谢

最新版本的软件包似乎存在一些问题。 使用以下版本的软件包似乎效果很好。

为方便起见,有改动的笔记本:

https://colab.research.google.com/drive/1WyPr2p2nXmrNhjqJXl7hKaHtOocP731S?usp=sharing

说明: 安装包时,简单使用:

!pip install macrodemos --upgrade
!pip install -q dash==1.19.0

这将替换旧版本的 dash,这是一个截图供您参考:

Screenshot 1

我是新手,非常感谢您对这是否有帮助的反馈。 提前致谢。 :)

我能够按照粘贴在此处以供参考的错误消息中的建议修复此错误,

AttributeError: ('Read-only: can only be set in the Dash constructor or during init_app()', 'requests_pathname_prefix')

解决方案是在第一次初始化应用程序时只设置Dash配置,而不是根据新版本的Dash使用app.config.update。

所以不是像这样试图更新 read-only 变量的东西,

app.config.update({
    'requests_pathname_prefix': '/dash/' # wrong, will cause read-only error
})

你可以,

app = dash.Dash(
    :
    requests_pathname_prefix='/dash/')

它在最初定义时设置这些变量,因此不会有 read-only 错误。

这个答案可能无法完全解决原始发布者的问题,因为在查看了 Colab notebook 后,关注的库是 macrodemos 需要更新以与最新版本的 Dash 兼容。