Python3.5.4与Openpyxl2.5兼容问题及pip安装jdcal报错咨询
我直接给你逐个拆解问题并给出解决方案:
1. Openpyxl2.5是否兼容Python3.5?
完全兼容!Openpyxl 2.5.x版本的官方支持范围明确包含Python 3.4到3.7,你的Python3.5.4正好在这个区间内,版本匹配没有任何问题。
2. 该问题是否与pip有关?
不是pip本身的问题,核心原因是权限不足:C:\Program Files\Python35\lib\site-packages是系统级保护目录,普通用户权限打开的命令提示符没有写入这个目录的权限,所以才会出现could not create...的报错。另外你手动把Openpyxl文件夹复制到lib目录的操作也不太规范,这种方式会跳过pip的依赖管理,反而容易引发依赖缺失的问题。
3. 是否需要安装pip?
当然需要,但你其实已经有了——Python 3.5及以上版本在默认安装时会自动附带pip。你可以打开命令提示符输入:
pip --version
如果能正常返回pip的版本信息,就说明pip本身没问题,只是需要提升权限来执行安装操作。
4. 是否需要安装jdcal?
需要!jdcal是Openpyxl 2.5处理日期相关功能的必备依赖库,Openpyxl在运行时会调用它的功能,所以必须安装。不过不用单独手动装,用pip安装Openpyxl时,pip会自动帮你下载并安装所有需要的依赖(包括jdcal)。
给你两个快速解决报错的方案:
方案一:用管理员权限执行pip
右键点击命令提示符图标,选择「以管理员身份运行」,然后在窗口中执行:pip install openpyxl管理员权限会允许pip写入系统保护目录,同时自动完成jdcal等依赖的安装。另外记得把你之前手动复制到lib目录的Openpyxl文件夹删掉,避免冲突。
方案二:使用虚拟环境(更推荐)
虚拟环境可以在不修改系统级Python的前提下安装包,完全避开权限问题:- 先安装virtualenv(如果没装的话):
pip install virtualenv - 创建一个虚拟环境(比如命名为
excel_env):virtualenv excel_env - 激活虚拟环境:
excel_env\Scripts\activate - 激活后直接安装Openpyxl:
pip install openpyxl
这样所有包都会安装在虚拟环境目录里,不用碰系统文件夹,也不会有权限问题。
- 先安装virtualenv(如果没装的话):
内容的提问来源于stack exchange,提问作者engrken

