-1

I am getting an error when trying to plot the basic chart on the Plotly Tutorial: https://plot.ly/python/getting-started/.

Full traceback here:

Traceback (most recent call last):

File "testing_plotly.py", line 13, in unique_url = py.plot(data, filename = 'basic-line')

File "C:\Python34\lib\site-packages\plotly\plotly\plotly.py", line 186, in plot res = _send_to_plotly(figure, **plot_options)

File "C:\Python34\lib\site-packages\plotly\plotly\plotly.py", line 1229, in _se cls=utils.PlotlyJSONEncoder)

File "C:\Python34\lib\json__init__.py", line 237, in dumps **kw).encode(obj)

File "C:\Python34\lib\json\encoder.py", line 192, in encode chunks = self.iterencode(o, _one_shot=True)

File "C:\Python34\lib\site-packages\plotly\utils.py", line 151, in iterencode if self.encoding != 'utf-8': AttributeError: 'PlotlyJSONEncoder' object has no attribute 'encoding'

Thanks!

4

1 回答 1

3

完全披露,我为 Plotly 工作。

TL;博士

看起来最近的更改与您的 Python 版本不完全兼容。

pip install -I 'plotly==1.6.10'

那是在似乎影响你的变化之前。

解释

Plotly python 模块最近刚刚更新了我们的自定义JSONEncoder子类,将float('NaN'),float('Inf')float('-Inf')to转换null为扩展的 JSON 值nan,Infinity-Infinity.

https://docs.python.org/2/library/json.html#infinite-and-nan-number-values

为此,我们覆盖iterencode了默认的JSONEncoder. 我们开发的版本和您的版本之间可能发生了一些变化。

永久修复

我们将尝试重新创建错误并很快提出修复,感谢您发布相关信息!

(编辑,命令中应该有两个=标志pip

于 2015-03-13T01:33:35.903 回答