PyPTO安装#

源码下载#

请根据CANN软件版本下载对应分支源码,${tag_version}表示分支标签名。

# 下载项目对应分支源码
git clone -b ${tag_version} https://gitcode.com/cann/pypto.git

对于WebIDE环境,已默认提供最新商发版本的项目源码,如需获取其他版本源码,也需通过上述命令下载源码。

[!NOTE] 注意

  • gitcode平台在使用HTTPS协议的时候要配置并使用个人访问令牌代替登录密码进行克隆,推送等操作。

  • 若您的编译环境无法访问网络,无法通过git指令下载代码,请先在联网环境中下载源码,再手动上传。

通过源码编译安装(推荐)#

环境自检#

如果您的开发环境可以正常访问cann-src-third-party,PyPTO编译所需的第三方开源软件将在编译过程中自动下载及编译。 如果无法访问,请参考手动安装 - 前提条件中”准备第三方开源软件源码包”的相关章节完成源码包准备,并在编译前设置如下环境变量:

export PYPTO_THIRD_PARTY_PATH=<path-to-thirdparty>

常规安装#

此方式适用于生产环境或代码稳定后使用。编译安装后,对Python源码的修改不会体现到已安装的pypto包中。对应命令如下:

# (可选)若开发环境无法访问cann-src-third-party,需设置
export PYPTO_THIRD_PARTY_PATH=<path-to-thirdparty>

# 执行编译及安装
python3 -m pip install . --verbose

参数说明--verbose:输出安装流程的基础详细信息(如下载的包版本、安装路径、依赖解析结果等)。

高级配置

以下功能依赖pip支持--config-setting参数,如需使用,请确保pip版本不低于22.1

  1. 调整编译类型

    默认情况下,常规安装编译出的C++层二进制文件为Release类型。若需进行调试,可通过pip--config-setting参数指定不同的编译类型:

    # 通过--config-setting参数指定C++层二进制编译为Debug类型
    python3 -m pip install . --verbose --config-setting=--build-option='build_ext --cmake-build-type=Debug'
    
  2. 开启C++编译器详细输出模式

    # 额外开启C++编译器详细输出模式(便于定位C++编译问题)
    python3 -m pip install . --verbose --config-setting=--build-option='build_ext --cmake-build-type=Debug --cmake-verbose'
    
  3. 指定CMake Generator类型

    # 指定CMake Generator类型(Ninja,Ninja需提前安装)
    python3 -m pip install . --verbose --config-setting=--build-option='build_ext --cmake-generator=Ninja'
    
    # 指定CMake Generator类型(Unix Makefiles)
    python3 -m pip install . --verbose --config-setting=--build-option='build_ext --cmake-generator="Unix Makefiles"'
    

可编辑安装#

此方式适用于开发调试阶段。该模式会在site-packages目录中创建指向本地源码的软链接,对Python源码的修改会即时生效,无需重新安装。对应命令如下:

# (可选)设置PYPTO_THIRD_PARTY_PATH,若开发环境无法访问cann-src-third-party
export PYPTO_THIRD_PARTY_PATH=<path-to-thirdparty>

# 执行编译及安装(可编辑模式)
python3 -m pip install -e . --verbose

参数说明

  • -e:即--editable的简写形式,标识采用可编辑安装模式;

  • --verbose:会输出安装流程的基础详细信息(如下载的包版本,安装路径,依赖解析结果等);

高级配置

PyPTO使用setuptools作为其编译打包工具。需要注意的是,当前版本的setuptools尚不支持直接接收pip命令通过--config-setting参数传递的配置。 如需指定特定的C++编译选项,您需要将相关配置预先设置在PYPTO_BUILD_EXT_ARGS环境变量中。该环境变量的值将在编译过程(setup.py)中被自动识别并使用。

以下示例演示了如何配置环境变量以编译Debug版本的C++二进制文件并开启编译器的详细输出模式,然后进行安装。

# 设置编译参数:指定编译类型为Debug,并开启编译器详细输出(便于诊断问题)
export PYPTO_BUILD_EXT_ARGS='--cmake-build-type=Debug --cmake-verbose'

# 其他配置方式参考:指定编译类型为Debug,并开启编译器详细输出(便于诊断问题),指定CMake Generator为Unix Makefiles
# export PYPTO_BUILD_EXT_ARGS='--cmake-build-type=Debug --cmake-verbose --cmake-generator="Unix Makefiles"'

# 执行编译及安装(可编辑模式)
python3 -m pip install -e . --verbose

通过PyPI安装#

PyPTO已发布至PyPI,若不涉及对PyPTO源码的修改,可以直接使用pip命令安装:

# 从PyPI源下载并安装
python3 -m pip install pypto

安装验证#

完成以上步骤后,参考样例运行执行相关用例,验证PyPTO是否成功安装。