0

我正在尝试使用 jupyter_to_medium 将 Jupyter Notebook 部署到 Medium,但仍然出现相同的错误。Safari和Chrome都试过了。我有集成令牌。

MacBook Pro 2017 年中

Failed to post to Medium
Returned error message below

"AttributeError: 'PosixPath' object has no attribute 'read'

Traceback (most recent call last):
File \"/usr/local/lib/python3.7/site-packages/jupyter_to_medium/_bundler.py\", line 37, in upload
data = publish(**kwargs)
File \"/usr/local/lib/python3.7/site-packages/jupyter_to_medium/_publish_to_medium.py\", line 299, in publish
chrome_path, save_markdown, table_conversion)
File \"/usr/local/lib/python3.7/site-packages/jupyter_to_medium/_publish_to_medium.py\", line 41, in __init__
self.nb = self.get_notebook()
File \"/usr/local/lib/python3.7/site-packages/jupyter_to_medium/_publish_to_medium.py\", line 76, in get_notebook
return nbformat.read(self.filename, as_version=4)
File \"/usr/local/lib/python3.7/site-packages/nbformat/__init__.py\", line 141, in read
return reads(fp.read(), as_version, **kwargs)
AttributeError: 'PosixPath' object has no attribute 'read'
"
4

1 回答 1

0

我在 Python3.7 中遇到了同样的错误。这对我有用:

这个函数调用的失败原因reads(fp.read(), as_version, **kwargs) in File \"/usr/local/lib/python3.7/site-packages/nbformat/__init__.py\". 显然fp是一个路径string,你不能read()直接在它上面使用。

变化:

在它之前添加以下行:

text = None
with open(fp, 'r') as f:
     text = f.read()

并更新原行

return reads(fp.read(), as_version, **kwargs)

return reads(text, as_version, **kwargs)
于 2021-06-21T03:16:17.557 回答