gpt4 book ai didi

pdf - python 3.6 : FileNotFoundError: [WinError 2] The system cannot find the file specified when running PDF-DIFF tool

转载 作者:行者123 更新时间:2023-12-04 16:04:06 31 4
gpt4 key购买 nike

我有一台基于 Windows 10 x64 的 PC。我正在尝试在此处获取此 PDF-DIFF Python 工具:https://github.com/JoshData/pdf-diff 运行并在运行来自名为“subprocess.py”文件的 Python Lib 文件中的一行时遇到此错误。

我发布了这个问题以及错误的完整屏幕截图,仍在等待回复: https://github.com/JoshData/pdf-diff/issues/30

请注意,在安装此 github 工具之前,我:1) 安装了 Python 3.6(尝试了 32 位和 64 位),目前只有 32 位

2)安装Microsoft Visual Studio 14.0 Build tools(C++构建工具)

3) 在命令提示符下运行命令:pip install lxml 这样我就可以拥有已下载 xml 库并满足工具的要求

4) 此外还检查了其他 stackoverflow 线程,表明“找不到文件”错误是由于“COMSPEC”变量在 regedit 中的设置与 Python 的 subprocess.py 不同。

在 Windows key 注册表中,'ComSpec' key 设置为:%SystemRoot%\system32\cmd.exe;

在 python 中,子进程调用是这样进行的(最后一行是 997):

     if shell:
startupinfo.dwFlags |= _winapi.STARTF_USESHOWWINDOW
startupinfo.wShowWindow = _winapi.SW_HIDE
comspec = os.environ.get("COMSPEC", "cmd.exe")
args = '{} /c "{}"'.format (comspec, args)

#Start the process
try:
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
# no special security
None, None,
int(not close_fds),
creationflags,
env,
os.fspath(cwd) if cwd is not None else
None,
startupinfo)

我没有想法,但感觉程序要求已得到满足。因此,当我在提示中运行命令来比较我的两个 PDF 文件并输出比较结果时:

C:\Python36\Scripts\pdf_diff>pdf-diff 683000.pdf 17368000.pdf > comparison_output.png

*我立即得到如下所示的错误:

  Traceback (most recent call last):

File "C:\Python36\Scripts\pdf_diff\pdf-diff-script.py", line 11, in load_entry_point('pdf-diff==0.9.0', 'console_scripts', 'pdf-diff')() File "C:\Python36\lib\site-packages\pdf_diff-0.9.0-py3.6.egg\pdf_diff\command_line.py", line 496, in main changes = compute_changes(args.files[0], args.files[1], top_margin=float(args.top_margin), bottom_margin=float(args.bottom_margin)) File "C:\Python36\lib\site-packages\pdf_diff-0.9.0-py3.6.egg\pdf_diff\command_line.py", line 14, in compute_changes docs = [serialize_pdf(0, pdf_fn_1, top_margin, bottom_margin), serialize_pdf(1, pdf_fn_2, top_margin, bottom_margin)] File "C:\Python36\lib\site-packages\pdf_diff-0.9.0-py3.6.egg\pdf_diff\command_line.py", line 29, in serialize_pdf for run in box_generator: File "C:\Python36\lib\site-packages\pdf_diff-0.9.0-py3.6.egg\pdf_diff\command_line.py", line 102, in mark_eol_hyphens for next_box in boxes: File "C:\Python36\lib\site-packages\pdf_diff-0.9.0-py3.6.egg\pdf_diff\command_line.py", line 64, in pdf_to_bboxes xml = subprocess.check_output(["pdftotext", "-bbox", fn, "/dev/stdout"]) File "C:\Python36\lib\subprocess.py", line 336, in check_output **kwargs).stdout File "C:\Python36\lib\subprocess.py", line 403, in run with Popen(*popenargs, **kwargs) as process: File "C:\Python36\lib\subprocess.py", line 709, in init restore_signals, start_new_session) File "C:\Python36\lib\subprocess.py", line 997, in _execute_child startupinfo) FileNotFoundError: [WinError 2] The system cannot find the file specified

最佳答案

我相信我在这里发现了问题。在安装不同版本的 Python(即 2.7 和 3.6)的过程中,我弄坏了一些东西。我相信这可能是为 PDF-diff 程序导入了不同的模块。根据手册,PDF-DIFF 程序是为 Python 3 编码的。因此,我认为上述问题是版本控制问题。我现在已经从我的机器上删除了 Python 3.6,因为我需要 2.7 用于其他项目。

关于pdf - python 3.6 : FileNotFoundError: [WinError 2] The system cannot find the file specified when running PDF-DIFF tool,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49460050/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com