解决安装PyMuPDF(也被称为fitz库)的问题(可成功安装且使用)

本文详细介绍了在安装和使用PyMuPDF(fitz库)时遇到的各种问题,包括不同版本不兼容、pip版本过旧、无效分发包警告以及多余包安装。提供了解决方案和一个获取PDF元数据标题的使用实例。
摘要由CSDN通过智能技术生成

在使用PyMuPDF 发现 直接pip install PyMuPDF 会安装失败或者安装后无法使用

安装方法:

1.在https://pypi.org/project/PyMuPDF/#files 查找到适合自己电脑python版本的.whl文件
2.下载.whl文件在当前项目目录下,以PyMuPDF-1.23.26-cp310-none-win_amd64.whl为例

3,在终端命令行输入 pip install PyMuPDF-1.23.26-cp310-none-win_amd64.whl即可

在这之前,需要把安装错误的卸载掉

一些安装时报错的原因解析:

报错1:

pip install PyMuPDF-1.23.26-cp312-none-win_amd64.whl ERROR:
PyMuPDF-1.23.26-cp312-none-win_amd64.whl is not a supported wheel on this platform.

错误信息表明 PyMuPDF-1.23.26-cp312-none-win_amd64.whl 不是一个在您当前平台上受支持的 wheel 文件。这通常是因为 wheel 文件是为特定的 Python 版本和操作系统构建的。cp312 表示这个 wheel 文件是为 Python 3.12 版本构建的,而 win_amd64 表示它是为 Windows 64 位系统构建的。要选择适合自己的版本

报错2:

pip 版本过旧:有时候,较旧的 pip 版本可能无法正确识别或安装某些 wheel 文件。请尝试更新 pip 到最新版本:

python -m pip install --upgrade pip

报错3-无效的分发包警告:

WARNING: Ignoring invalid distribution -illow
(c:\users\zhuang\pycharmprojects\pythonproject2\venv\lib\site-packages)
WARNING: Ignoring invalid distribution -atplotlib
(c:\users\zhuang\pycharmprojects\pythonproject2\venv\lib\site-packages)

这些警告表明在您的虚拟环境site-packages目录中,存在某些名称不正确的分发包。可能是在安装或升级包时出现了问题,导致包的元数据受损。您可以尝试删除这些损坏的包并重新安装它们。

进入c:\users\zhuang\pycharmprojects\pythonproject2\venv\lib\site-packages找到相关的包,删除以~为开头的相关文件夹即可
在这里插入图片描述

报错4:

Installing collected packages: PyMuPDFb, PyMuPDF Successfully
installed PyMuPDF-1.23.26 PyMuPDFb-1.23.22WARNING: You are using pip version 21.3.1; however, version 24.0 is available.

在安装过程中,pip似乎又尝试从缓存中安装了一个名为 PyMuPDFb 的包,并且成功安装了 PyMuPDF 和 PyMuPDFb 两个包。这可能是因为您有一个名为 PyMuPDFb 的依赖项在您的 requirements.txt 文件中或者是由其他某个过程触发的

如果 PyMuPDFb 不是一个您需要的包,您可能想要卸载它以避免潜在的冲突。您可以使用以下命令来卸载它:pip uninstall PyMuPDFb

使用实例

使用PyMuPDF(也被称为fitz库)来获取PDF文献的标题通常涉及读取PDF的元数据。PDF文档的元数据可以包含诸如标题、作者、创建日期等信息。以下是一个基本的示例,

import fitz  # PyMuPDF的别名  
  
# 打开PDF文件  
pdf_path = 'path_to_your_document.pdf'  # 替换为你的PDF文件路径  
doc = fitz.open(pdf_path)  
  
# 获取PDF的元数据字典  
metadata = doc.metadata  
  
# 尝试从元数据字典中获取标题  
title = metadata.get('title')  
  
if title:  
    print(f"PDF标题: {title}")  
else:  
    print("PDF标题未找到。")  
  
# 关闭文档  
doc.close()
  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汐ya~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值