FileNotFoundError: [WinError 2] Системе не удается найти файл, указанный при сохранении PDF в pybloqs - PullRequest
0 голосов
/ 28 января 2019

Я хочу создать PDF-файл из следующего Pandas DataFrame:

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] Системе не удается найти файлуказано "

Согласно документации , все должно работать нормально.Кажется, что в ошибке упоминается также подпроцесс, и я также проверил другие повторяющиеся вопросы , которые указывают на подпроцесс. Откройте.

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

Но это не решает мою проблему,Удивительно, но когда я запускаю block_df.save ('test.html')

, он создает красивый HTML-файл в том же каталоге.Но ошибка сохраняется для PNG.

enter image description here

1 Ответ

0 голосов
/ 05 июля 2019

Это сбой в большинстве процедур "subprocess.Popen (cmd, stdout = subprocess.PIPE, shell = True)", поскольку он не может найти временный файл.Поскольку вы запрашиваете PDF, pybloqs будет использовать WkhtmltopdfConverter.

Установите wkhtmltopdf (из https://wkhtmltopdf.org/downloads.html) и добавьте каталог установки (например, C: \ Program Files \ wkhtmltopdf \ bin) в путь к среде.

Запустите wkhtmltopdf в CMD или PowerShell, чтобы убедиться, что вы правильно добавили его в путь.

...