snow package create¶
将 Python 包创建为 zip 文件,该文件可以上传到暂存区并导入到 Snowpark Python 应用程序。
语法¶
snow snowpark package create
<name>
--ignore-anaconda
--index-url <index_url>
--skip-version-check
--allow-shared-libraries
--connection <connection>
--account <account>
--user <user>
--password <password>
--authenticator <authenticator>
--private-key-path <private_key_path>
--database <database>
--schema <schema>
--role <role>
--warehouse <warehouse>
--temporary-connection
--mfa-passcode <mfa_passcode>
--enable-diag
--diag-log-path <diag_log_path>
--diag-allowlist-path <diag_allowlist_path>
--format <format>
--verbose
--debug
--silent
实参¶
name
要创建的包的名称。
选项¶
--ignore-anaconda
不在 Snowflake Anaconda 通道上查找包。
--index-url TEXT
用于查找包的 Python 包索引的基础 URL。它应指向一个符合 PEP 503 的存储库(简单存储库 API)或以相同格式布局的本地目录。
--skip-version-check
跳过比较需求和 Anaconda 之间的依赖项版本。
--allow-shared-libraries
当使用通过 PIP 安装的包时,允许使用共享 (.so) 库。
--connection, -c, --environment TEXT
连接的名称,如您在
config.toml
中所定义。默认:default
。--account, --accountname TEXT
分配给 Snowflake 账户的名称。替换为连接指定的值。
--user, --username TEXT
连接到 Snowflake 的用户名。替换为连接指定的值。
--password TEXT
Snowflake 密码。替换为连接指定的值。
--authenticator TEXT
Snowflake 身份验证器。替换为连接指定的值。
--private-key-path TEXT
Snowflake 私钥路径。替换为连接指定的值。
--database, --dbname TEXT
要使用的数据库。替换为连接指定的值。
--schema, --schemaname TEXT
要使用的数据库架构。替换为连接指定的值。
--role, --rolename TEXT
要使用的角色。替换为连接指定的值。
--warehouse TEXT
要使用的仓库。替换为连接指定的值。
--temporary-connection, -x
使用用命令行参数定义的连接,而不是在配置中定义的连接。
--mfa-passcode TEXT
用于多重身份验证的令牌 (MFA)。
--enable-diag
运行 Python 连接器诊断测试。
--diag-log-path TEXT
诊断报告路径。
--diag-allowlist-path TEXT
可选允许列表的诊断报告路径。
--format [TABLE|JSON]
指定输出格式。
--verbose, -v
显示日志级别
info
及更高级别的日志条目。--debug
显示日志级别
debug
及更高级别的日志条目;调试日志包含其他信息。--silent
关闭到控制台的中间输出。
--help
显示此命令的帮助文本。
使用说明¶
snowpark package create
命令执行以下操作:
创建准备上传到暂存区的构件。
检查原生库并询问是否要继续。如果下载的包中存在原生库,则此命令的工作方式与
snowpark package build
命令相同。
示例¶
此示例将 Python 包创建为 zip 文件,该文件可以上传到暂存区,然后由 Snowpark Python 应用程序导入。“july”包的依赖项位于 Anaconda 通道上,因此它们被排除在
.zip
文件之外。命令显示您需要包含在 Snowpark 项目的 requirements.txt 中的包。snow snowpark package create july==0.1
Package july.zip created. You can now upload it to a stage using snow snowpark package upload -f july.zip -s <stage-name>` and reference it in your procedure or function. Remember to add it to imports in the procedure or function definition. The package july is successfully created, but depends on the following Anaconda libraries. They need to be included in project requirements, as their are not included in .zip. matplotlib contourpy >=1.0.1 numpy>=1.20 bokeh selenium mypy==1.8.0 Pillow pytest-xdist wurlitzer cycler >=0.10 fonttools >=4.22.0 kiwisolver >=1.3.1 pyparsing >=2.3.1 jinja2 python-dateutil >=2.7 six >=1.5 importlib-resources >=3.2.0
此示例创建您可以在 Snowpark 项目中使用的
july.zip
包,而无需向requirements.txt
文件添加任何依赖项。错误消息指示某些包包含共享库,这些库可能无法正常工作,例如在使用 Windows 创建包时。snow snowpark package create july==0.1 --ignore-anaconda --allow-shared-libraries
2024-04-11 16:24:56 ERROR Following dependencies utilise shared libraries, not supported by Conda: 2024-04-11 16:24:56 ERROR numpy contourpy fonttools kiwisolver matplotlib pillow 2024-04-11 16:24:56 ERROR You may still try to create your package with --allow-shared-libraries, but the might not work. 2024-04-11 16:24:56 ERROR You may also request adding the package to Snowflake Conda channel 2024-04-11 16:24:56 ERROR at https://support.anaconda.com/ Package july.zip created. You can now upload it to a stage using snow snowpark package upload -f july.zip -s <stage-name>` and reference it in your procedure or function. Remember to add it to imports in the procedure or function definition.
此示例无法创建包,因为包已存在。您仍然可以使用
--ignore-anaconda
选项强制创建包。snow snowpark package create matplotlib
Package matplotlib is already available in Snowflake Anaconda Channel.