pdfminer - ImportError: No module named pdfminer.pdfdocument

pdfminer - ImportError: No module named pdfminer.pdfdocument

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

When compiling, it will likely be necessary to instruct the
installation to use your account space above, and not try to install
into the operating system directories. Typically, using "--
home=/usr/home/username/pdfminer" at the end of the install command should allow for that.

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

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。 我看过一些关于类似问题的帖子("no module named. . . " 但没有完全相同。建议的解决方案要么没有帮助(例如使用 sudo 安装 - 不是一个选项;指定 python 的路径(这似乎不是问题),等等)。

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

由于软件包 pdfminer 安装到 non-standard/non-default 位置,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 指定的安装路径用作您可能要安装的所有软件包的库,而不仅仅是这个。您应该删除该文件夹并使用 -- 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 and install the packages 你需要的。

我遇到了这样的错误:

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

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

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

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

source ~/venv/bin/activate

使用这个命令对我有效并消除了错误

pip install pdfminer.six