已解决:dataframe_image 错误:subprocess.CalledProcessError:命令(args)返回非零退出状态 21

问题描述 投票:0回答:1

解决方案(来源:Andrews):我将 table_conversion 参数添加到 dfi.export 中。我相信默认值是 chrome,通过更改它(我使用 matplotlib),代码可以工作。

我已经使用 dataframe_image 几年了,并且陷入了今天刚刚发生的错误。当尝试为数据帧运行 dfi.export (隐藏索引轴,指定字体大小和 dpi)时,我收到以下错误。

Traceback (most recent call last):
  File "C:\Users\david.clark\REPORT_TrendQuality\venv\lib\site-packages\dataframe_image\_screenshot.py", line 142, in take_screenshot
    self.generate_image_from_html(args)
  File "C:\Users\david.clark\REPORT_TrendQuality\venv\lib\site-packages\dataframe_image\_screenshot.py", line 150, in generate_image_from_html
    subprocess.run(executable=self.chrome_path, args=args, capture_output=True, check=True)
  File "C:\Users\david.clark\AppData\Local\Programs\Python\Python38\lib\subprocess.py", line 516, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['--enable-logging', '--disable-gpu', '--headless', '--crash-dumps-dir=C:\\Users\\DAVID~1.CLA\\AppData\\Local\\Temp\\tmpw370ybdw', '--force-device-scale-factor=2.0', '--window-size=1400,900', '--hide-scrollbars', '--screenshot=C:\\Users\\DAVID~1.CLA\\AppData\\Local\\Temp\\tmpw370ybdw\\temp.png', 'C:\\Users\\DAVID~1.CLA\\AppData\\Local\\Temp\\tmpw370ybdw\\temp.html']' returned non-zero exit status 21.

这似乎发生在 _screenshot.py 中。我怀疑它与generate_image_from_html的参数有关,但不知道出了什么问题。我还想知道这是否是由于最近的 Chrome 更新所致,因为我过去曾遇到过这个问题。有人知道这是怎么回事吗?

我运行了以下代码:

    metrics_df = metrics_df.style.hide(axis="index")
    dfi.export(metrics_df, '{}_{}_{}_trend_quality_table_1.png'.format(row['CDAP Env.'], row['Patient ID'], row['Cordella ID']),
               fontsize=10, dpi=200)

我期待一个名为“a_b_c_trend_quality_table_1.png”的文件出现在我的工作目录中,它将是指标数据帧的图像。

python dataframe image export png
1个回答
0
投票

我遇到了同样的问题,并将 table_conversion 更改为 matplotlib 更改了我的表格可视化。对于那些需要保持相同表格可视化的人,我在这里找到了解决方案: 子进程不保存PDF文件

将 '--headless' 替换为 '--headless=old'

© www.soinside.com 2019 - 2024. All rights reserved.