Python(arm64) 环境配置

本指南可帮助开发人员设置 Python 环境,以便在 Windows 上的 Snapdragon (WoS) 平台上使用 QAI AppBuilder。

将 Python 扩展与 ARM64 Python 结合使用,开发人员可以在 Snapdragon(WoS) 平台上为 Windows 构建 GUI 应用程序,从而获得更好的性能。Python 3.12.6 ARM64 版本支持以下模块:PyQt6、OpenCV、Numpy、PyTorch*、Torchvision*、ONNX*、ONNX Runtime*。

  • PyTorch、Torchvision、ONNX、ONNX 运行时:需要从源代码编译
  • 其他一些 Python 扩展也需要从源代码编译

设置 QAI AppBuilder Python 环境:

第 1 步:安装依赖项

下载并安装 gitARM64 Python 3.12.6

注意:安装 Python 时请务必选中“将 python.exe 添加到 PATH”

注意:如果您的环境中有多个 Python 版本,请确保这次安装的 Python 位于 PATH 环境变量的首位。

若要检查 PATH 环境变量中的 Python 版本列表,请打开“命令提示符”窗口(不是 PowerShell),然后运行命令“where python”,如下所示:

where python
C:\Programs\Python\Python312-arm64\python.exe
C:\Users\zhanweiw\AppData\Local\Microsoft\WindowsApps\python.exe

如果您尚未安装,请下载并安装 vc_redist.arm64

第 2 步:安装基本的 Python 依赖项:

在 Windows 终端中运行以下命令:

pip install requests py3-wget tqdm importlib-metadata qai-hub==0.30.0

第 3 步:下载 QAI AppBuilder 存储库:

在 Windows 终端中运行以下命令:

git clone https://github.com/quic/ai-engine-direct-helper.git --recursive

如果您之前克隆过它,您可以通过以下命令更新代码:

cd ai-engine-direct-helper
git pull --recurse-submodules

第 4 步:设置 QAI AppBuilder Python 环境:

在 Windows 终端中运行以下命令:

cd ai-engine-direct-helper\samples
python python\setup.py

Python 和常见的 python 扩展:

从这里获取常见的 Python 扩展,例如 OpenCV、NumPy、Pillow:https://github.com/cgohlke/win_arm64-wheels/releases/download/v2024.6.15/2024.6.15-experimental-cp312-win_arm64.whl.zip

请使用 numpy-1.26.4,不要使用 numpy-2.0.0。

pip install numpy-1.26.4-cp312-cp312-win_arm64.whl
pip install opencv_python_headless-4.10.0.82-cp39-abi3-win_arm64.whl
pip install pillow-10.3.0-cp312-cp312-win_arm64.whl

从这里获取 PyQt6,请参阅以下编译 PyQt6_sip 的注释 :https://github.com/RockLakeGrass/Windows-on-ARM64-Toolchain/tree/main/Python/packages/PyQt/PyQt6

TorchVision、ONNX、ONNX 运行时:

如果需要这些用于 ARM64 Python 的 Python 扩展,您需要自己编译它们

适用于 ARM64 Windows 的 PyTorch

https://blogs.windows.com/windowsdeveloper/2025/04/23/pytorch-arm-native-builds-now-available-for-windows/

笔记:

  1. 对于 C++(Visual Studio) 项目,您需要将“运行时库”设置为“多线程 DLL (/MD)”。详情请参阅以下连结:https://learn.microsoft.com/en-us/cpp/build/reference/md-mt-ld-use-run-time-library?view=msvc-170

  2. 请在调用任何其他 API 之前,使用 Python 的 API LogLevel.SetLogLevel() 和 C++ 的 SetLogLevel() 来初始化日志函数。

  3. 如果使用 Python 3.11.5,请从此处获取 OpenCV:https://github.com/RockLakeGrass/Windows-on-ARM64-Toolchain/tree/main/Python/packages/opencv-python

  4. PyQt6 安装: 如果使用 Python 3.12.6,您可能需要根据以下链接设置编译环境来编译 PyQt6_sip:13.4.0:https://github.com/quic/ai-engine-direct-helper/tree/main?tab=readme-ov-file#build

安装 Python 3.12.6 版 PyQt6 的步骤:

pip install PyQt6-6.3.1-cp37-abi3-win_arm64.whl
pip install PyQt6_Qt6-6.3.1-py3-none-win_arm64.whl
pip install PyQt6_sip==13.4.0

您可以直接从这里获取 Python 3.11.5 的 PyQt6_sip:
https://github.com/RockLakeGrass/Windows-on-ARM64-Toolchain/blob/main/Python/packages/PyQt/PyQt6/PyQt6-sip/PyQt6_sip-13.4.0-cp311-cp311-win_arm64.whl

Logo

为武汉地区的开发者提供学习、交流和合作的平台。社区聚集了众多技术爱好者和专业人士,涵盖了多个领域,包括人工智能、大数据、云计算、区块链等。社区定期举办技术分享、培训和活动,为开发者提供更多的学习和交流机会。

更多推荐