如何在Snowflake中添加可用于Python Worksheet的Python包?
解决Snowflake Python Worksheet中ModuleNotFoundError的包安装步骤
1. 确认包文件的兼容性
- Snowflake的Python运行时仅支持Linux x86_64架构的Wheel文件,且Python版本需与Worksheet使用的版本匹配(可在Worksheet中执行
import sys; print(sys.version)查看当前版本)。 - 从PyPI下载对应版本的Wheel:比如针对Python 3.8,下载
faker-<版本号>-cp38-cp38-manylinux_2_17_x86_64.whl和faker_biology-<版本号>-cp38-cp38-manylinux_2_17_x86_64.whl。
2. 上传Wheel文件到Snowflake内部阶段
- 创建内部阶段(若未存在):
CREATE OR REPLACE STAGE MY_PY_PACKAGES; - 通过SnowSQL或Snowflake UI上传Wheel文件:
- SnowSQL命令示例:
PUT file:///本地路径/faker-xxx.whl @MY_PY_PACKAGES AUTO_COMPRESS=FALSE; PUT file:///本地路径/faker_biology-xxx.whl @MY_PY_PACKAGES AUTO_COMPRESS=FALSE; - 验证上传结果:执行
LIST @MY_PY_PACKAGES;确认文件存在。
- SnowSQL命令示例:
3. 在Python Worksheet中安装并引用包
在Worksheet的代码开头添加以下内容,直接从内部阶段安装依赖:
%pip install @MY_PY_PACKAGES/faker-xxx.whl %pip install @MY_PY_PACKAGES/faker_biology-xxx.whl # 后续正常导入使用 from faker_biology.physiology import CellType, Organ, Organelle from faker import Faker
4. 常见问题排查
- 版本不匹配:重新下载与Snowflake Python版本一致的Wheel文件。
- 权限不足:确保当前角色拥有阶段的
USAGE权限,以及执行%pip命令的权限。 - 依赖缺失:
faker_biology依赖faker,需确保两者都正确安装,安装顺序不影响但需都包含。 - 文件路径错误:检查
LIST @MY_PY_PACKAGES的输出,确保%pip install中的文件名与阶段内的完全一致。
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

