8

我正在尝试安装 pdfMiner 以使用 CollectiveAccess。我的主机 (pair.com) 为我提供了以下信息以帮助完成此任务:

编译时,可能需要指示
安装使用上面的帐户空间,而不是尝试安装
到操作系统目录中。通常,
在安装命令末尾使用“--home=/usr/home/username/pdfminer”应该允许这样做。

我在尝试安装时遵循了此说明。结果是:

running install
running build
running build_py
running build_scripts
running install_lib
running install_scripts
changing mode of /usr/home/username/pdfminer/bin/latin2ascii.py to 755
changing mode of /usr/home/username/pdfminer/bin/pdf2txt.py to 755
changing mode of /usr/home/username/pdfminer/bin/dumppdf.py to 755
running install_egg_info
Removing /usr/home/username/pdfminer/lib/python/pdfminer-20140328.egg-info
Writing /usr/home/username/pdfminer/lib/python/pdfminer-20140328.egg-info

我看不出有什么问题(我对 python 很陌生),但是当我尝试运行示例命令时,$ pdf2txt.py samples/simple1.pdf我得到了这个错误:

Traceback (most recent call last):   File "pdf2txt.py", line 3, in <module>
    from pdfminer.pdfdocument import PDFDocument ImportError: No module named pdfminer.pdfdocument

我正在运行 python 2.7.3。我无法从根安装(共享主机)。pdfminer 的最新版本,即 2014/03/28。我看过一些关于类似问题的帖子(“没有命名模块......”但没有完全相同。建议的解决方案要么没有帮助(例如使用 sudo 安装 - 不是一个选项;指定 python 的路径(其中似乎不是问题)等)。

或者这是我的主人的问题?(即,他们的设置有问题或不同)

4

4 回答 4

9

我有这样的错误:

No module named 'pdfminer.pdfinterp'; 'pdfminer' is not a package

我的问题是我已经命名了我的脚本pdfminer.py,由于我不知道的原因,Python 将它作为原始pdfminer包文件并尝试编译它。

我将脚本重命名为其他内容,删除了所有*.pyc文件和__pycache__目录,我的问题就解决了。

于 2017-09-10T14:14:18.440 回答
6

由于包pdfminer安装到非标准/非默认位置,Python 将无法找到它。为了使用它,您需要将它添加到您的“pythonpath”中。三种方式:

  1. 在运行时,将其放入您的脚本中pdf2txt.py

    import sys
    # if there are no conflicting packages in the default Python Libs =>
    sys.path.append("/usr/home/username/pdfminer")
    

    或者

    import sys
    # to always use your package lib before the system's =>
    sys.path.insert(1, "/usr/home/username/pdfminer")
    

    注意:指定的安装路径--home用作您可能要安装的所有软件包的 Lib,而不仅仅是这个。您应该删除该文件夹并使用(或任何通用名称)重新安装,-- home=/usr/home/username/myPyLibs以便当您使用该安装路径安装其他软件包时,您只需要添加到本地 Lib 的一个路径即可导入它们:

    import sys
    sys.path.insert(1, "/usr/home/username/myPyLibs")
    
  2. 在执行脚本之前将其添加到 PYTHONPATH:

    export PYTHONPATH="${PYTHONPATH}:/usr/home/username/myPyLibs"
    

    然后将其放入您的~/.bashrc文件 ( /usr/home/username/.bashrc) 或.profile适用时。这可能不适用于不是从控制台执行的程序。

  3. 创建一个VirtualEnv 并安装你需要的包。

于 2016-03-10T01:49:10.037 回答
3

使用此命令对我有用并删除了错误

pip install pdfminer.six
于 2020-10-12T20:24:53.483 回答
0

我有一个虚拟环境,我必须在安装 pip3 之前激活它才能让 venv 看到它。

source ~/venv/bin/activate
于 2020-05-05T17:39:10.773 回答