Python3.8.1安装PyPDF2 3.0.0后导入报错:xrange未定义
问题根源
错误出在Crypto/Cipher/ARC4.py中的xrange调用——Python 3已移除xrange,统一使用range,说明你的环境里安装的Crypto相关包(如旧版pycrypto或不兼容的pycryptodome)是为Python 2开发的,和当前Python 3.8.1环境冲突,进而影响PyPDF2的导入。
解决步骤
- 卸载旧版不兼容的加密库:
若提示无此包,尝试卸载旧版pip uninstall pycrypto -ypycryptodome:pip uninstall pycryptodome -y - 安装适配Python 3的
pycryptodome(PyPDF2官方推荐的加密依赖):pip install pycryptodome>=3.10.0 - 验证修复:
在Python交互环境中执行以下代码,确认无报错:import PyPDF2
若使用conda环境
- 卸载旧包:
conda remove pycrypto --yes - 安装兼容包:
conda install -c conda-forge pycryptodome
内容的提问来源于stack exchange,提问作者yousef a
相关产品推荐
相关产品推荐

