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
Copy

实参

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
    
    Copy
    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
    
    Copy
    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
    
    Copy
    Package matplotlib is already available in Snowflake Anaconda Channel.
    
语言: 中文