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。
调整编译类型
默认情况下,常规安装编译出的C++层二进制文件为
Release类型。若需进行调试,可通过pip的--config-setting参数指定不同的编译类型:# 通过--config-setting参数指定C++层二进制编译为Debug类型 python3 -m pip install . --verbose --config-setting=--build-option='build_ext --cmake-build-type=Debug'
开启C++编译器详细输出模式
# 额外开启C++编译器详细输出模式(便于定位C++编译问题) python3 -m pip install . --verbose --config-setting=--build-option='build_ext --cmake-build-type=Debug --cmake-verbose'
指定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是否成功安装。