pdfminer - ImportError:没有名为pdfminer.pdfdocument的模块

时间:2016-03-09 23:29:26

标签: python pdfminer

我正在尝试安装pdfMiner以使用CollectiveAccess。我的主人(pair.com)给了我以下信息来帮助完成这个任务:

  

编译时,可能需要指示   安装使用上面的帐户空间,而不是尝试安装
  进入操作系统目录。通常,使用" -
  家=的/ usr /家庭/用户名/ 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。我无法从root(共享主机)安装。 pdfminer的最新版本,即2014/03/28。 我已经看过一些关于类似问题的帖子(&#34;没有模块命名......&#34;但没有完全相同。建议的解决方案要么没帮助(比如用sudo安装 - 不是一个选项;指定python的路径(似乎不是问题),等等。)

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

4 个答案:

答案 0 :(得分:5)

由于软件包pdfminer已安装到非标准/非默认位置,因此Python无法找到它。为了使用它,您需要将它添加到您的pythonpath&#39;中。三种方式:

  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 and install the packages

答案 1 :(得分:2)

我有这样的错误:

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

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

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

答案 2 :(得分:0)

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

source ~/venv/bin/activate

答案 3 :(得分:0)

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

pip install pdfminer.six