Python3导入pypdf/PyPDF2报错‘xrange未定义’求解决方案
解决Python3中pypdf导入时的xrange未定义错误
问题根源
从报错栈能明确看到,错误并非出自pypdf本身,而是它依赖的Crypto.Cipher.ARC4模块使用了Python2的xrange语法,而你的环境是Python3,因此触发NameError。你之前尝试的修改pypdf代码或重装pypdf的方法无效,因为问题出在依赖库上。
解决方案
1. 卸载旧的Crypto相关包
执行命令卸载可能存在的Python2版本Crypto库(比如停止维护的pycrypto):
pip uninstall -y pycrypto
2. 安装适配Python3的Crypto库
安装pycryptodome——这是pycrypto的Python3分支,已完全适配Python3语法:
pip install --upgrade pycryptodome
3. 验证修复效果
重新进入Python shell,尝试导入pypdf:
import pypdf
如果没有报错,说明问题已解决。
补充操作(若仍有问题)
如果上述步骤后仍报错,可以完全卸载pypdf后重新安装,确保依赖被正确更新:
pip uninstall -y pypdf pip install pypdf
内容的提问来源于stack exchange,提问作者eugenio b
相关产品推荐
相关产品推荐

