2016-03-09 146 views
2

我试图安装pdfMiner与CollectiveAccess工作。我的主机(pair.com)给了我下面的信息,在这一过程中,以帮助:pdfminer - 导入错误:没有模块名为pdfminer.pdfdocument

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 

我看不出有什么不对的(我很新的蟒蛇),但是当我尝试运行示例命令$ 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 

我跑蟒蛇2.7.3。我无法从根目录安装(共享主机)。最新版本的pdfminer,2014/03/28。 我在类似的问题上看到过一些文章(“no module named ...”,但没有完全一样的东西,所提出的解决方案要么没有帮助(比如用sudo安装 - 不是选项;指定python的路径这似乎并不成为问题)等)。

或者这是我的主人一个问题吗?(即东西不对劲或他们设置不同)

回答

3

由于包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指定的安装路径用作库,所有程序包,您可能需要安装,而不仅仅是这一个。您应该删除该文件夹并使用-- 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你需要那个。

+0

选项1很简单地解决了它。谢谢! – KLL

0

我有这样的错误:

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

我的问题是,我已经叫我的剧本pdfminer.py这对于我不知道原因,巨蟒把它原始pdfminer包文件并试图编译它。

改名为我的脚本到别的东西,删除所有*.pyc文件和目录__pycache__,我的问题得到解决。

相关问题