在 24.04 上,某些 ID 无法运行 ocrmypdf。例外是执行 sudo apt install ocrmypdf 的 ID,它运行正常。运行 sudo ocrmypdf 也有效。为什么除了执行 sudo apt install 的 ID 之外,其他 ID 都无法运行?22.04 系统上的所有 ID 都可以运行 ocrmypdf。
表示失败的文本字符串如下:
An exception occurred while executing the pipeline _sync.py:473
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/ocrmypdf/_sync.py", line
409, in run_pipeline
optimize_messages = exec_concurrent(context, executor)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ocrmypdf/_sync.py", line
315, in exec_concurrent
pdf, messages = post_process(pdf, context, executor)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ocrmypdf/_sync.py", line
247, in post_process
return optimize_pdf(pdf_out, context, executor)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ocrmypdf/_pipeline.py", line
1009, in optimize_pdf
output_pdf, messages =
context.plugin_manager.hook.optimize_pdf(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 501,
in __call__
return self._hookexec(self.name, self._hookimpls.copy(),
kwargs, firstresult)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line
119, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs,
firstresult)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line
138, in _multicall
raise exception.with_traceback(exception.__traceback__)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line
102, in _multicall
res = hook_impl.function(*args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/usr/lib/python3/dist-packages/ocrmypdf/builtin_plugins/optimize.p
y", line 151, in optimize_pdf
'jbig2': jbig2enc.available(),
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/ocrmypdf/_exec/jbig2enc.py",
line 22, in available
version()
File "/usr/lib/python3/dist-packages/ocrmypdf/_exec/jbig2enc.py",
line 17, in version
return Version(get_version('jbig2', regex=r'jbig2enc
(\d+(\.\d+)*).*'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^
File
"/usr/lib/python3/dist-packages/ocrmypdf/subprocess/__init__.py",
line 159, in get_version
proc = run(
^^^^
File
"/usr/lib/python3/dist-packages/ocrmypdf/subprocess/__init__.py",
line 63, in run
proc = subprocess_run(args, env=env, check=check, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/subprocess.py", line 548, in run
with Popen(*popenargs, **kwargs) as process:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/subprocess.py", line 1026, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.12/subprocess.py", line 1955, in
_execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
PermissionError: [Errno 13] Permission denied: 'jbig2'