Databricks导入camelot包时触发TypeError错误求助
问题
在Databricks中导入camelot包时触发TypeError,该脚本在2023年8月9日前运行完全正常。错误日志指向导入cv2环节,cv2/typing/__init__.py中的代码numpy.dtype[numpy.generic]抛出错误:
TypeError: 'numpy._DTypeMeta' object is not subscriptable
解决方案
这个问题是numpy版本不兼容导致的:numpy.dtype[...]的下标写法是numpy 1.20及以上版本才支持的语法,而当前环境中numpy版本过低,无法识别该写法。
解决步骤:
- 先确认当前环境的numpy版本:
import numpy print(numpy.__version__) - 在Databricks notebook中升级numpy到兼容版本(推荐1.21及以上):
%pip install --upgrade numpy>=1.21 - 如果升级numpy后和其他依赖产生冲突,可以锁定opencv-python的版本到适配旧numpy的分支(比如4.5.x系列):
%pip install opencv-python==4.5.5.62 - 若Databricks预装的numpy版本优先级过高,可强制重装覆盖:
%pip install --upgrade --force-reinstall numpy>=1.21
内容的提问来源于stack exchange,提问作者sanjay chaudhary
相关产品推荐
相关产品推荐

