Python3.8 Jupyter调用google.cloud报ModuleNotFoundError错误求助
问题解决方案:Jupyter Notebook导入google.cloud.storage报错ModuleNotFoundError
该报错的核心原因通常是依赖安装的Python环境与Jupyter运行绑定的内核环境不匹配,结合M1芯片Rosetta运行的场景,可按以下步骤排查修复:
- 确认虚拟环境Python路径
激活你使用的Python3.8虚拟环境,在终端执行which python,记录输出的文件路径 - 核对Jupyter运行内核路径
在报错的Jupyter Notebook单元格中执行代码import sys; print(sys.executable),对比输出的路径与上一步记录的路径是否一致。如果不一致,即可确认是内核不匹配导致的报错 - 注册虚拟环境到Jupyter内核
保持虚拟环境激活、终端为Rosetta模式,依次执行以下命令:- 安装ipykernel依赖:
pip install ipykernel - 注册当前环境为Jupyter内核:
python -m ipykernel install --user --name=py38_rosetta_gcs(名称可自定义,方便识别即可) - 重启Jupyter Notebook,打开代码文件后在顶部菜单栏选择「Kernel」→「Change Kernel」,选中你刚注册的
py38_rosetta_gcs内核,重新运行导入代码即可
- 安装ipykernel依赖:
- 路径一致时修复依赖冲突
如果两次输出的路径完全一致仍报错,说明依赖包的命名空间存在损坏,在激活的虚拟环境终端依次执行:pip uninstall -y google-cloud google-cloud-storage google-api-core google-auth pip install google-cloud-storage
注意:所有终端操作都需要保持你使用的Python3.8虚拟环境处于激活状态,且终端为Rosetta运行模式,避免架构不兼容导致的依赖异常
内容的提问来源于stack exchange,提问作者Ron Borenstein
相关产品推荐
相关产品推荐

