Len*_*a.J 24 python importerror pdfminer
Traceback (most recent call last):
File "g:\mydrive\ \pdftotext_pdfminer.py", line 3, in <module>
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
File "C:\Users\ \anaconda3\envs\ \lib\site-packages\pdfminer\pdfinterp.py", line 7, in <module>
from .cmapdb import CMap
File "C:\Users\ \anaconda3\envs\ \lib\site-packages\pdfminer\encodingdb.py", line 7, in <module>
from .psparser import PSLiteral
File "C:\Users\ \anaconda3\envs\ \lib\site-packages\pdfminer\psparser.py", line 22, in <module>
from .utils import choplist
File "C:\Users\ \anaconda3\envs\ \lib\site-packages\pdfminer\utils.py", line 31, in <module>
import charset_normalizer # For str encoding detection
File "C:\Users\ \anaconda3\envs\ \lib\site-packages\charset_normalizer\__init__.py", line 23, in <module>
from charset_normalizer.api import from_fp, from_path, from_bytes, normalize
File "C:\Users\ \anaconda3\envs\ \lib\site-packages\charset_normalizer\api.py", line 10, in <module>
from charset_normalizer.md import mess_ratio
File "charset_normalizer\md.py", line 5, in <module>
ImportError: cannot import name 'COMMON_SAFE_ASCII_CHARACTERS' from 'charset_normalizer.constant' (C:\Users\ \anaconda3\envs\ \lib\site-packages\charset_normalizer\constant.py)
Run Code Online (Sandbox Code Playgroud)
每当我使用 pdfminer 时都会发生此错误。我还安装了 pdfminer-6
直到两天前,我的代码都运行得很好。今天开始发生这种情况,当我尝试再次运行它而不对文件进行任何调整时
我假设这可能是 pdfminer 的问题,但该模块没有更新......
(我在我的 conda 环境中运行这个)
有谁知道这个错误是什么意思?以及如何解决它?
小智 21
我也遇到了同样的问题,尽管是aiohttp,而不是pdfminer。安装chardet而不是我现有的(conda)安装charset-normalizer解决了这个错误,但给我带来了其他问题。我的最终解决方案是删除chardet并安装当前版本charset-normalizer(目前是 3.1.0,而不是3.0.1)。这可以通过以下方式完成
conda install -c conda-forge charset-normalizer
Run Code Online (Sandbox Code Playgroud)
小智 9
就我而言,我有一个 conda 环境,不知何故,我通过 venv 创建以某种方式安装了字符集规范化器:2.0.4
pip 列表显示 2.04 conda 列表显示 3.01
所以我使用以下命令删除字符集版本 2.04:
pip 卸载字符集规范化器
然后按照上面的解决方案,我使用 conda 重新安装:
conda install -c conda-forge 字符集规范化器
经验法则:只要可用,也使用 conda 包 - 仅当 conda 存储库中没有可用的情况时才使用 pip。
小智 7
就我而言,在 Python 3.9 上安装 Transformer (4.29.2) 后,我遇到了同样的错误。事实证明,问题是 chardet (5.1.0) 和 charset-normalizer (3.1.0) 之间的兼容性问题。
我通过卸载它们并重新安装相同的 chardet 但使用旧版本的 charset-normalizer 解决了这个问题。
pip uninstall chardet
pip uninstall charset-normalizer
pip install chardet
pip install charset-normalizer==2.1.0
Run Code Online (Sandbox Code Playgroud)
我用 conda 尝试了一个新的环境,并得到了完全相同的结果!
小智 0
那里。今天(2022-11-24)尝试从我长期使用的脚本中使用 pdfplumber 包时,我遇到了同样的问题。我不知道为什么会发生此错误,但发现此链接中的解决方案之一很有帮助: How to fix AttributeError: Partially Initialized module?
简而言之,我使用命令 conda env remove --name ds (ds 是我的环境的名称)删除了整个虚拟环境。然后,我创建了一个新包,并通过 conda 或 pip 再次安装了我需要的每个包。现在工作正常。希望它也适合你。
出于好奇,我上周安装了 Tensorflow。也许它以某种方式干扰了 pdfplumber (不确定)。自上次使用 pdfminer 以来您是否安装过任何新软件包?祝你好运!
| 归档时间: |
|
| 查看次数: |
52367 次 |
| 最近记录: |