系统更新后Python导入子目录模块及旧可用库提示Module not found求助
故障排查与解决方案
本地models模块导入失败处理
- 首先确认
/project/models/路径下存在空的__init__.py文件,该文件是Python将文件夹识别为可导入模块的必要标识,系统升级后可能出现文件丢失或索引失效,缺失的话直接新建空文件放在对应路径即可。 - 核对脚本执行时的工作目录是否为
/project/,可在mainscript.py的所有导入语句前添加代码打印当前工作目录确认:
import os print(os.getcwd())
如果输出路径不是/project,可手动将项目根目录加入Python导包搜索路径,在所有导入语句前添加以下代码即可,不受执行时工作目录影响:
import sys from pathlib import Path sys.path.append(str(Path(__file__).absolute().parent))
- 确认当前执行代码的Python版本和升级前正常运行的版本一致,系统升级可能会修改默认Python版本,执行
python --version或python3 --version核对即可。
pdf2image库导入失败处理
- 由于tensorflow、keras等其他库可正常导入,说明不是全局Python路径问题,优先排查pdf2image是否安装在当前使用的Python环境中,执行对应pip命令核对:
# 对应python命令的pip pip list | findstr pdf2image # Windows系统用这条 pip list | grep pdf2image # Linux/macOS系统用这条 # 对应python3命令的pip pip3 list | findstr pdf2image # Windows系统用这条 pip3 list | grep pdf2image # Linux/macOS系统用这条
如果查询不到结果,直接用对应pip重新安装即可:
pip install pdf2image # 或 pip3 install pdf2image
- 排查系统依赖poppler是否正常,pdf2image依赖系统级poppler工具完成解析,系统升级可能会清空环境变量或卸载依赖,执行命令核对:
where pdftotext # Windows系统 which pdftotext # Linux/macOS系统
如果无输出,重新安装poppler即可:
- Debian/Ubuntu系统:
sudo apt install poppler-utils - macOS系统:
brew install poppler - Windows系统:下载poppler官方二进制包后,将其解压后的bin文件夹路径加入系统环境变量PATH,重启终端生效。
内容的提问来源于stack exchange,提问作者soulynn
相关产品推荐
相关产品推荐

