【问题标题】:Python textract ImportErrorPython 文本导入错误
【发布时间】:2017-11-01 21:21:45
【问题描述】:

我已经开始使用 Python 库 textract 来解析 PowerPoint (.pptx)、Word 文档 (.docx) 和文本文件 (*.txt) 中的文本。我写了一个简单的脚本来测试它。

# Python textract test script
import textract
textract.process("H:\My Documents\Test.docx")

当我在命令行或空闲状态下运行它时,我会得到一个回溯,最后几行是:

文件:“C:...\textract\parsers\docx_parser.py”,第 1 行 导入 docx2txt ImportError: 没有名为 docx2txt 的模块

我使用的是 1.5.0 版,从 https://pypi.python.org/pypi/textract 下载。我不知道为什么它不包含任何依赖项。我是否必须安装 docx2txt 及其后续依赖项?为什么textract 包不包含我需要的一切?

【问题讨论】:

  • 你试过下载 docx2txt 吗?

标签: python docx text-extraction python-docx


【解决方案1】:

我建议使用pip install xxx 来安装模块。这会将它安装在通常由 python 查找的路径中。它还应该处理依赖关系。

如果您进行了手动安装或只是将其解压缩到晚餐文件夹,请正确设置路径,如此处所述 How to add to the pythonpath in windows 7?Python - PYTHONPATH in linux

如果您认为您已正确设置,请发布它的值、密码等。

【讨论】:

    【解决方案2】:

    textract 不会自动安装它支持的所有文件类型的依赖项。您有选择地安装您感兴趣的那些。

    虽然这并不像人们想象的那么优雅,但我认为这是合适的设计选择。 Python 不具备按需安装依赖项的能力,因此唯一的选择是 textract 安装 all 十几个或更多可能的依赖项,这会使您的 Python 环境膨胀。

    因此,正如 Kashyap 所说,在这种情况下,适当的操作是:

    pip install python-docx
    

    对于您可能需要的任何其他文件类型依赖项类似。

    【讨论】:

      【解决方案3】:

      这对我有用,

      打开终端,然后输入如下,

      python -m venv env 
      source ./env/bin/activate
      sudo apt update
      sudo apt install python-pip && pip install --upgrade pip
      sudo apt install python-dev libxml2-dev libxslt1-dev antiword unrtf poppler-utils pstotext tesseract-ocr flac ffmpeg lame libmad0 libsox-fmt-mp3 sox libjpeg-dev swig
      pip install textract
      

      如果您遇到任何错误,请在下方尝试

      pip install https://pypi.python.org/packages/ce/c7/ab6cd0d00ddf8dc3b537cfb922f3f049f8018f38c88d71fd164f3acb8416/SpeechRecognition-3.6.3-py2.py3-none-any.whl
      sudo apt install libpulse-dev
      pip install textract
      

      【讨论】:

        猜你喜欢
        • 2019-02-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-07
        • 1970-01-01
        • 1970-01-01
        • 2014-09-03
        相关资源
        最近更新 更多