Python 3.6:FilenotFoundError:[WinError 2]系统在运行PDF-DIFF工具时找不到



我有一个基于Windows 10 x64的PC。我想在这里获取此PDF-DIFF PYTHON工具:https://github.com/joshdata/pdf-diff 运行并在从Python Lib文件中运行名为" subprocess.py"文件的线路时遇到此错误。

我以错误的完整屏幕截图发布了此问题,并且仍在等待响应:https://github.com/joshdata/pdf-diff/issues/30

只是要注意,在安装此github工具i之前1(安装了Python 3.6(同时尝试了32位和64个(,目前有32位

2(安装了Microsoft Visual Studio 14.0构建工具(C 构建工具(

3(在命令提示中ran命令: pip install lxml,以便我可以拥有XML库下载并满足工具的要求

4(此外,还检查了其他Stackoverflow线程,建议"未找到"错误是由于" COMSpec"变量在regedit vs. Python的subprocess.py中的设置不同。

在Windows密钥注册表中," COMSpec"密钥设置为:%SystemRoot%system32cmd.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:Python36Scriptspdf_diff>pdf-diff 683000.pdf 17368000.pdf > comparison_output.png

*我立即在下面显示错误:

  Traceback (most recent call last):

file" c: python36 scripts pdf_diff pdf_diff pdf-diff-script.py",第11行,in load_entry_point('pdf-diff == 0.9.0','console_scripts','pdf-diff'((((((( 文件" c: python36 lib lib site-packages pdf_diff-0.9.0.9.0.9.0-py3.6.egg pdf_diff command_line.py",第496行, 更改= compute_changes(args.files [0],args.files [1],top_margin = float(args.top_margin(,bottom_margin = float = float(args.bottom_margin(( 文件" c: python36 lib lib site-packages pdf_diff-0.9.0.9.0.9.0-py3.6.egg pdf_diff command_line.py",第14行,在Compute_changes中 docs = [serialize_pdf(0,pdf_fn_1,top_margin,bottom_margin(,serialize_pdf(1,pdf_fn_2,pdf_fn_2,top_margin,bottom_margin(]] 文件" c: python36 lib lib site-packages pdf_diff-0.9.0.9.0.0.9.0-py3.6.egg pdf_diff command_line.py",第29行,in serialize_pdf 用于Box_generator中的运行: 文件" c: python36 lib lib site-packages pdf_diff-0.9.0.9.0.9.0-py3.6.egg pdf_diff command_line.py",第102行,在mark_eol_hyphens中 对于框中的Next_box: 文件" C: Python36 lib lib site-packages pdf_diff-0.9.0.9.0.9.0-py3.6.egg pdf_diff command_line.py",第64行,在pdf_to_to_boxes中 xml = subprocess.check_output([[" pdftotext"," - bbox",fn,"/dev/stdout"]( 文件" c: python36 lib subprocess.py",第336行,在check_output中 ** Kwargs(。 文件" C: python36 lib subprocess.py",第403行 将Popen(*Popenargs,** Kwargs(作为过程: 文件" C: python36 lib subprocess.py",第709行, in Init Restore_signals,start_new_session( 文件" c: python36 lib subprocess.py",第997行,在_execute_child中 startupinfo( FILENOTFOUNDERROR:[WINERROR 2]系统找不到指定的文件

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

最新更新