FileNotFoundError:[WinError 2]在pybloqs中保存PDF时,系统找不到指定的文件

时间:2019-01-28 12:30:24

标签: python-3.x pandas subprocess pdf-generation filepath

我想从以下Pandas DataFrame创建PDF:

import pandas as pd
from pybloqs import Block, html
import pybloqs.block.table_formatters as tf

d = {'one': [1., 2., 3., 4.],
 'two': [4., 3., 2., 1.]}

df  =  pd.DataFrame(d)

block_df =  Block(df, formatters=None, use_default_formatters=True)
block_df.save('test.pdf')

,我得到以下错误(图像已附加):  “ FileNotFoundError:[WinError 2]系统找不到指定的文件”

根据documentation,它应该可以正常工作。似乎在错误中它也提到了子流程,我还检查了其他duplicate questions指出了subprocess.Popen。

subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)

但这不能解决我的问题。出乎意料的是,当我跑步时     block_df.save('test.html')

它在同一目录中创建一个漂亮的HTML文件。但是对于PNG,错误仍然存​​在。

enter image description here

1 个答案:

答案 0 :(得分:0)

在大多数情况下,“ subprocess.Popen(cmd,stdout = subprocess.PIPE,shell = True)”失败,因为它找不到临时文件。由于您要使用PDF,因此pybloqs将使用WkhtmltopdfConverter。

https://wkhtmltopdf.org/downloads.html安装wkhtmltopdf并将安装目录(即C:\ Program Files \ wkhtmltopdf \ bin)添加到环境路径。

在CMD或PowerShell中运行wkhtmltopdf,以确保已将其正确添加到路径。