无法解析 Python OCR 库 pypdfocr 的依赖项 [重复]

Posted

技术标签:

【中文标题】无法解析 Python OCR 库 pypdfocr 的依赖项 [重复]【英文标题】:Unable to resolve dependencies for the Python OCR Library pypdfocr [duplicate] 【发布时间】:2016-10-15 06:16:22 【问题描述】:

我尝试使用以下命令安装 pypdfocr:

pip install pypdfocr
pip install -i https://pypi.anaconda.org/pypi/simple pypdfocr

但我不断收到错误消息:

File "C:\Users\888537\AppData\Local\Temp\pip-build-b4mwr93n\evernote\setup
.py", line 6
        exec x
             ^
    SyntaxError: Missing parentheses in call to 'exec'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\888537\A
ppData\Local\Temp\pip-build-b4mwr93n\evernote\

以下是安装日志:

    [Anaconda3] C:\Users\888537>pip install -i https://pypi.anaconda.org/pypi/simple
 pypdfocr
Collecting pypdfocr
  Downloading https://pypi.anaconda.org/pypi/simple/pypdfocr/0.7.6/pypdfocr-0.7.
6.tar.gz
Requirement already satisfied (use --upgrade to upgrade): pillow>=2.2 in d:\anac
onda3\lib\site-packages (from pypdfocr)
Requirement already satisfied (use --upgrade to upgrade): reportlab>=2.7 in d:\a
naconda3\lib\site-packages (from pypdfocr)
Collecting watchdog>=0.6.0 (from pypdfocr)
  Downloading https://pypi.anaconda.org/pypi/simple/watchdog/0.8.1/watchdog-0.8.
1.tar.gz (154kB)
    100% |################################| 163kB 52kB/s
Requirement already satisfied (use --upgrade to upgrade): pypdf2>=1.23 in d:\ana
conda3\lib\site-packages (from pypdfocr)
Collecting evernote (from pypdfocr)
  Downloading https://pypi.anaconda.org/pypi/simple/evernote/1.25.0/evernote-1.2
5.0.tar.gz (140kB)
    100% |################################| 143kB 187kB/s
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\888537\AppData\Local\Temp\pip-build-b4mwr93n\evernote\setup
.py", line 6
        exec x
             ^
    SyntaxError: Missing parentheses in call to 'exec'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\888537\A
ppData\Local\Temp\pip-build-b4mwr93n\evernote\

如何使用 pypdfocr 库解决这个安装问题?

【问题讨论】:

【参考方案1】:

使用 Python 2.x 而不是 3.x 或找到出现语法错误的行并添加括号。

看,在 Python 3 中 exec 是一个函数,但在 Python 2 中 exec 是一个命令。

所以在 Python 3 中,您必须将参数放入括号中才能正确调用 exec()。

因此,您正在尝试将包安装到适用于 Python 2 的 Python3。

至少安装脚本是。

好的,这就是我可以从错误日志中推断出来的。我不熟悉 PyPDFOCR,尽管我怀疑它使用 tesseract 进行 OCRing,并且可能使用 PDFMiner 来访问 PDF 文档中的图像。

要继续使用 PIP,首先下载而不是安装包,然后更改 setup.py,然后执行 python setup.py 安装。

虽然,如果脚本适用于 Python 2,则相关包可能仅适用于 Python 2。因为 pip 应自动为已安装的 Python 选择正确的包版本。

所有的混乱都可能与 Anaconda 发行版有关。

祝你好运。

【讨论】:

感谢 Dalen 的帮助。 :) 我能够通过在安装了 Python 2.x 的 Anaconda 中创建一个虚拟环境来解决这个问题。我在虚拟环境中成功安装了 pypdfocr 作为 evernote 依赖项安装,在 Python 2.x 版中没有任何错误。我之前使用的是 Python 3.4,这导致安装依赖项 evernote 时出现问题。 太棒了!你走了更长的路,但如果你想继续使用 Anaconda,也许它是最好的。使用虚拟环境非常有创意。为此 +1。

以上是关于无法解析 Python OCR 库 pypdfocr 的依赖项 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

python安装OCR识别库

为啥 Tesseract OCR 库(iOS)根本无法识别文本?

Python调用Tesseract-OCR完成图片OCR识别

Python图像处理之图片文字识别(OCR)

Python有啥好的库可以识别验证码

Python下实现Tesseract OCR训练字符库(OpenCV-python边缘检测代替jTessBoxEditor手动矫正)