OpenHarmony 鸿蒙 PC + CodeArts IDE 实现 Python开发完整开发环境搭建指南

本文介绍在鸿蒙 PC+CodeArts IDE 搭建 Python 开发环境。借助鸿蒙专属包管理器 Harmonybrew 安装适配版 Python,搭配 ohos-pip-autosign 自动签名工具,解决系统对动态库的签名限制。通过虚拟环境隔离依赖,以 NumPy 完成安装与脚本测试,成功解决权限报错,搭建出可用的 Python 开发环境。

欢迎加入开源鸿蒙PC社区: https://harmonypc.csdn.net/

欢迎在PC社区平台申请新建项目:https://atomgit.com/OpenHarmonyPCDeveloper

AtomGit 仓库地址:https://atomgit.com/OpenHarmonyPCDeveloper/ohos_python_numpy


前言:

OpenHarmony(鸿蒙 PC / 标准系统)基于 Linux 内核,但做了大量定制改造、权限管控与运行环境隔离,和通用 Linux 发行版并非完全兼容,这就让原生 CPython 没法直接正常跑起来。

  • C 库 / 系统调用不兼容:鸿蒙用自研 libc、部分 POSIX 接口缺失 / 差异
  • 安全强制签名:所有 .so 动态库必须系统签名,否则 Python 无法加载(numpy/pandas 等直接报错)
  • 架构唯一:仅 aarch64(ARM64),无 x86 支持
  • 平台识别异常:原生 Python 识别为 linux,但鸿蒙不是标准 Linux
  • PEP 668 严格隔离:系统 Python 禁止直接 pip,必须虚拟环境

以上的原因会造成原生 CPython 直接编译会:编译失败、启动崩溃、无法加载 C 扩展、安全拦截。Harmonybrew 的核心 Tap:OpenHarmony aarch64 专属、安全签名强制、libc 适配、鸿蒙 API 兼容、裁剪优化、生态工具绑定。

Harmonybrew 核心 tap(harmonybrew/core)里的 Python(3.12/3.13/3.14)不是原生 CPython,而是针对 OpenHarmony(鸿蒙)aarch64 深度定制、安全加固、系统适配的专属版本,解决鸿蒙内核 / 安全 / ABI 与标准 Linux 不兼容问题。


一、什么是Harmonybrew 呢?

鸿蒙不自带 C/C++ 编译环境,且官方不提供鸿蒙版二进制包,所以这些库不能直接用,但它们支持自动编译,我们用 Harmonybrew 提供编译能力,就能让这些库在鸿蒙上自己编译自己,从而正常运行。

相信大多数人都用过 Mac系统,Homebrew 是 macOS / Linux 平台下最主流、最流行的开源命令行包管理器,圈内直接叫 brew。我们可以简单的来类比理解:

  • Windows:应用商店、360 软件管家、Chocolatey
  • Android:应用商店
  • Linux:apt / yum / dnf
  • macOS 专属标配:Homebrew

那么,Harmonybrew 是给 OpenHarmony/鸿蒙系统做的「Homebrew 移植版」,本质是一个命令行包管理器,目标是把 macOS/Linux 上最流行的 Homebrew 生态,完整搬到鸿蒙设备上(移植到了 OpenHarmony 操作系统上),这意味着,开发者可以在鸿蒙设备上使用熟悉的 brew install、brew search、brew update 等命令来安装和管理软件包。类似于Ubuntu上的apt-get或CentOS上的yum包管理工具,功能类似于Homebrew(Homebrew是Mac上最好用的包管理工具)。‌‌目前仅只支持 arm64(适配 ARM64 架构)的鸿蒙设备:

  • 命令语法、使用逻辑 几乎完全对齐 brew。
  • 目标:让鸿蒙设备也拥有类似 Mac 的命令行软件管理能力。
概念 理解
Homebrew Mac/Linux 下常用的软件安装工具,用 brew install 一键装软件、自动解决依赖。原生版,Mac/Linux 主流包管理器(鼻祖)
Harmonybrew 就是鸿蒙版 Homebrew,让你在鸿蒙 PC、开发板、容器里,也能用同样的 brew 命令装各种命令行工具和开发软件,社区基于 Homebrew 思路移植到 OpenHarmony / 鸿蒙 的版本

Homebrew(Mac) → 设计思想被借鉴 → 衍生出 Harmonybrew(鸿蒙)


1.1 为什么需要 Harmonybrew?解决什么痛点?

原生鸿蒙(OpenHarmony)命令行环境极度精简,缺很多常用工具:

  • 没有 apt/yum/brew 这种统一包管理器;
  • curlwgetgitpythonnoderedis 等,只能:
    • 手动下源码 → 编译 → 配环境变量 → 软链接;
    • 依赖经常缺、编译报错、版本混乱、无法一键更新;
  • 鸿蒙 PC、开发板、容器之间环境不一致,迁移麻烦。

那么,原生 OpenHarmony 的命令行环境功能比较精简,缺少大量常用开发工具,软件安装、依赖处理都只能手动操作,流程繁琐又容易出错,而 Harmonybrew 的出现,恰好补齐了这一短板:

  • 一条命令安装、卸载、更新;
  • 自动处理依赖;
  • 统一软件仓库,版本可控;
  • 尽量兼容 Homebrew 现有包(目前约 60% 可直接用)。
能力 原生 OpenHarmony Harmonybrew
安装软件 手动编译/解压/配路径 brew install 一键搞定
依赖管理 手动找依赖、容易冲突 自动解析、安装依赖
版本管理 无统一机制,易混乱 可指定版本、一键升级
编译适配 常因平台/签名报错 内置适配工具,开箱即用
生态规模 极小(只有基础工具) 2000+ 包,接近 Homebrew

1.2 环境要求:

  • 设备:鸿蒙 PC
  • 系统:HarmonyOS 6.1+ / OpenHarmony 6.1+
  • 架构:arm64

请添加图片描述

在使用之前需要开启一下"开发者选项",我们可以找到"XXX的MateBookPro"左侧选项框中,在"关于本机"中,我们找到"软件版本"这里,连点 7 次鼠标,即可开启"开发者选项",如下图所示:

请添加图片描述

后面我们通过重启电脑即可启用"开发者选项"。

请添加图片描述

接下来,我们在"隐私与安全"选项中,将"运行来自非应用市场的扩展程序",将它开启即可。


1.3 卸载冲突软件:

如果 PC 中安装有 GitNext 和 DevBox 这两个应用,请先将它们卸载,这些应用可能与 Homebrew 的运行环境产生冲突。

请添加图片描述

请添加图片描述


1.4 安装命令(一行搞定) - 执行一键安装命令:

接着打开鸿蒙PC自带的终端,千万不要安装HiSH软件,一直提示我安装错误。

请添加图片描述

下面是 Harmonybrew(鸿蒙版 Homebrew)官方一键安装 Shell 脚本,也是鸿蒙设备部署 Harmonybrew 包管理器的唯一官方入口,基于标准 Homebrew 安装脚本深度适配 OpenHarmony/HarmonyOS 系统,全程自动化完成环境检测、依赖校验、程序下载、目录部署与基础配置,无需人工干预复杂操作,脚本会下载 Harmonybrew 本体,并且配置 PATH,自动修复常见环境问题。

请添加图片描述

zsh -c "$(curl -fsSL https://harmonybrew.atomgit.com/install.sh)"
  • 1.一键部署 Harmonybrew:
    • 替代手动下载、编译、配置等繁琐操作,在鸿蒙 PC、OpenHarmony 开发板、鸿蒙容器中自动安装包管理器核心程序,让鸿蒙设备拥有类似 macOS/Linux 的 brew 软件管理能力。
  • 2.系统环境强校验:
    • 提前检测系统类型、架构、Shell 环境、依赖工具,拦截不兼容环境、非法权限、冲突配置,避免安装失败。
  • 3.鸿蒙系统专属适配:
    • 针对鸿蒙 /system 目录只读、musl 库、权限机制、服务逻辑等特性做定制改造,解决原生 Homebrew 无法在鸿蒙运行的问题。
  • 4.目录与环境自动配置:
    • 自动创建专属安装目录、缓存目录,创建软链接,并在安装结束后给出环境变量配置指引,保证 brew 命令全局可调用。
  • 5.多模式兼容:
    • 支持交互式(日常手动安装)、非交互式(CI / 自动化脚本)、CI 环境等运行模式,适配个人使用与自动化部署场景。

1.5 配置环境变量:

把 Harmonybrew 的环境初始化代码 写入你的终端配置文件 .zshrc,以后每次打开终端,都会自动加载 brew 命令,不用每次手动配置,总结就是把 Harmonybrew 配置进你的终端环境,让你每次打开 HiShell 都能直接使用 brew 命令,并且当前终端立即生效。

echo >> /storage/Users/currentUser/.zshrc
    echo 'eval "$(/storage/Users/currentUser/.harmonybrew/bin/brew shellenv)"' >> /storage/Users/currentUser/.zshrc
    eval "$(/storage/Users/currentUser/.harmonybrew/bin/brew shellenv)"

请添加图片描述


二、如何安装 Python 三方库?

由于 Python 官方目前尚未原生支持 aarch64-linux-ohos 平台,为了确保用户能够使用三方库(尤其是包含原生模块的库),我们将它的平台三元组硬编码为了 aarch64-linux-musl。得益于 OpenHarmony 对 Linux 的兼容性,Python 可以直接复用 Linux 现有的生态,直接下载并运行 aarch64-linux-musl 平台的原生二进制制品(如 numpy、scipy 等)。

该方案在常规 OpenHarmony 设备上均可正常工作,但在鸿蒙 PC 上会面临一个特有的安全限制:当你用 pip 安装这类三方库时,下载到的 so 文件(如 xxx-aarch64-linux-musl.so)必然不具备鸿蒙 PC 的代码签名,直接加载会导致系统校验失败。

【重要】:ohos-pip-autosign 便是为了解决这一痛点而生的工具,它能在 pip 安装过程中自动为这些 so 文件补全代码签名。


2.1 安装python运行环境:

用 Homebrew 工具安装最新版 Python 解释器,安装完成后可以查看当前系统里 Python 的版本号。

请添加图片描述

请添加图片描述


2.2 什么是 ohos-pip-autosign ?

ohos-pip-autosign 是鸿蒙 PC(OpenHarmony 标准系统)Python 专用自动签名工具,解决:pip 装带 C 扩展的库(numpy/pandas 等)后.so 无法加载、报错、安全拦截,鸿蒙 PC 是Linux 内核 + 自研安全加固:

  • 强制所有 ELF/.so二进制必须系统签名才能加载执行
  • 原生 Linux 编译的 Python/.so无签名 → 直接加载失败、启动崩溃、安全拦截
  • 普通 pip install numpy/pandas → 装完立刻报错,用不了

2.3 ohos-pip-autosign 有什么作用?

就像给Python 虚拟环境装一个pip 钩子,每次 pip install 结束 → 自动扫描所有新增.so → 调用鸿蒙系统 binary-sign-tool 自动批量签名,工作原理也比较简单,可以简单的描述为:

  • 1.注入钩子:在 venv 的 site-packages 装轻量脚本,监听 pip 安装完成事件
  • 2.自动扫描:扫所有新 / 更新的.so(C 扩展动态库)
  • 3.系统签名:调用鸿蒙官方签名工具,批量签 ELF/so
  • 4.环境隔离:只对当前虚拟环境生效,删 venv 就彻底清除
# 安装 Python 运行时和自动签名工具
brew install python ohos-pip-autosign

请添加图片描述

在鸿蒙 PC(OpenHarmony 标准系统)下,用 Homebrew(brew)一次性安装:系统级 Python + 鸿蒙专用 Python 自动签名工具(ohos-pip-autosign),ohos-pip-autosign 相当于鸿蒙 PC Python 的 “通行证工具”,让 pip 装的所有 C 扩展库自动过鸿蒙安全签名,自动给 pip 装的 C 扩展.so 签名,解决鸿蒙安全拦截、加载失败、崩溃,彻底解决原生 Python 在鸿蒙 PC 上装库报错、无法运行的核心问题。

和 pip install 的区别:

  • brew install:装系统级软件(鸿蒙适配版 Python、ohos-pip-autosign 工具),全局生效、系统管理。
  • pip install:装Python 库(numpy、pandas),虚拟环境 / 用户目录。

2.4 安装虚拟环境,并激活自动签名工具:

不同项目可能需要不同版本的 Python、不同版本的依赖库,全局环境混用容易出现版本冲突、库混乱的问题。

虚拟环境模块,就是 Python 自带、不用额外安装的一套工具,用来给不同项目搭 “独立隔离的运行空间”,会复制一份当前 Python 解释器、pip 工具和基础运行文件,打造出一个副本环境,这个副本和系统全局 Python 互不干涉,在里面安装的第三方库、版本配置,都只存在于这个文件夹内,不会影响系统或其他项目。

# 激活 venv
python3 -m venv .venv
source .venv/bin/activate

请添加图片描述

调用 Python 内置的虚拟环境模块,在当前文件夹里新建一个名为 .venv 的独立虚拟环境文件夹。这个环境会复制一份独立的 Python 解释器、pip,和系统全局 Python 完全隔离,不同项目的依赖不会互相干扰,在这个内置虚拟环境里配合 ohos-pip-autosign,安装的 C 扩展库还能自动签名,完美适配系统安全规则。

当执行虚拟环境里的激活脚本,切换当前终端到这个虚拟环境,激活后终端提示符一般会多出 (.venv) 标识,此时再用 python、pip 命令,就只会作用在这个独立环境里,而非系统全局。

# 激活自动签名工具
ohos-pip-autosign activate

2.6 安装 numpy 包:

接下来我们以 numpy 为例,在鸿蒙 PC 的 HiShell 环境中安装它的完整流程如下,NumPy 是 Python 数值计算核心库,主打高效处理数组、矩阵。

    1. 核心用途
    • 快速创建、运算多维数组(列表升级版,速度远快于原生Python列表);
    • 矩阵运算、线性代数、三角函数、随机数、统计计算;
    1. 常用场景
    • 数据分析、人工智能、机器学习、科学计算、图像处理、数值模拟。
    1. 简单举例
    • 原生列表做批量计算很慢,用 NumPy 一行就能完成数组加减、缩放等运算,是 pandas、Matplotlib、TensorFlow 等库的底层依赖。
pip3 install numpy

请添加图片描述

Python3 专用的包管理工具,用来安装第三方库,给你的 Python3 环境安装 numpy 第三方库。


2.4 创建测试脚本:

先在终端创建名为test.py的脚本文件,文件里写入 Python 代码:导入 numpy 库并简写为 np,创建一个数组,再让数组里每个数字都乘 2 并打印输出,以此测试 numpy 能否正常运行。

# 编写一段 python 脚本,验证 numpy 是否能正常工作
cat <<EOF > test.py
import numpy as np
arr = np.array([1, 2, 3])
print(arr * 2)
EOF

代码准备好后,我们可以通过python 命令执行该脚本,查看输出结果。

# 执行脚本
python3 test.py

请添加图片描述

结果发现报错了:

(.venv) localhost ~ % python3 test.py
Traceback (most recent call last):
  File "/storage/Users/currentUser/.venv/lib/python3.14/site-packages/numpy/_core/__init__.py", line 24, in <module>
    from . import multiarray
  File "/storage/Users/currentUser/.venv/lib/python3.14/site-packages/numpy/_core/multiarray.py", line 11, in <module>
    from . import _multiarray_umath, overrides
ImportError: Error loading shared library /storage/Users/currentUser/.venv/lib/python3.14/site-packages/numpy/_core/_multiarray_umath.cpython-314-aarch64-linux-musl.so: Permission denied

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/storage/Users/currentUser/test.py", line 1, in <module>
    import numpy as np
  File "/storage/Users/currentUser/.venv/lib/python3.14/site-packages/numpy/__init__.py", line 112, in <module>
    from numpy.__config__ import show_config
  File "/storage/Users/currentUser/.venv/lib/python3.14/site-packages/numpy/__config__.py", line 4, in <module>
    from numpy._core._multiarray_umath import (
    ...<3 lines>...
    )
  File "/storage/Users/currentUser/.venv/lib/python3.14/site-packages/numpy/_core/__init__.py", line 85, in <module>
    raise ImportError(msg) from exc
ImportError:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.

We have compiled some common reasons and troubleshooting tips at:

  https://numpy.org/devdocs/user/troubleshooting-importerror.html

Please note and check the following:

* The Python version is: Python 3.14 from "/storage/Users/currentUser/.venv/bin/python3"
* The NumPy version is: "2.4.6"

and make sure that they are the versions you expect.

Please carefully study the information and documentation linked above.
This is unlikely to be a NumPy issue but will be caused by a bad install
or environment on your machine.

Original error was: Error loading shared library /storage/Users/currentUser/.venv/lib/python3.14/site-packages/numpy/_core/_multiarray_umath.cpython-314-aarch64-linux-musl.so: Permission denied

【原因】:因为鸿蒙系统对 .so 这类二进制文件有严格的安全限制,没经过签名的动态库会被直接拦截,这也是之前安装 numpy 时出现 Permission denied 报错的根本原因。


2.5 签名工具报错 - [解决方案]激活自动签名工具:

执行这条命令后,系统会给当前虚拟环境装一个钩子,之后用 pip 安装任何带 C 扩展的库(比如 numpy、pandas 这类),安装完成时工具会自动扫描所有新生成的 .so 文件,调用鸿蒙的签名工具批量完成签名,让这些文件能被系统正常加载,不用再手动处理权限问题,也不会再出现库加载失败的报错了。

# 激活自动签名工具
ohos-pip-autosign activate

请添加图片描述

这条 ohos-pip-autosign activate 是鸿蒙系统里的专属命令,核心作用就是给你当前的 Python 虚拟环境,开启 pip 安装包的自动签名功能。

请添加图片描述

这些是 numpy 里的核心 .so 动态库文件,每一行 SIGNED: 都代表这个文件已经被鸿蒙系统安全工具成功签名了。你之前报错的 _multiarray_umath.so 也在里面,现在已经被处理好了。

请添加图片描述

完成 numpy 安装和签名后,测试验证它能正常工作的完整终端操作过程,在当前目录下创建了一个叫 test.py 的 Python 脚本文件。

  • 导入 numpy 库并简写为 np,这是行业里约定俗成的写法,方便后面调用它的各种功能。
  • np.array([1, 2, 3]) 创建了一个 NumPy 数组,这是 NumPy 最核心的数据结构,和普通 Python 列表不一样,它能直接做批量运算。
  • print(arr * 2) 让数组里的每个元素都乘以 2,然后把结果打印出来,这个操作在普通列表里需要写循环才能实现,但 NumPy 可以直接一行完成,这也是它高效的地方。
localhost ~ % python3 -m venv .venv

localhost ~ % source .venv/bin/activate

(.venv) localhost ~ % ohos-pip-autosign activate

✅ [Success] OHOS Pip Autosign activated.
   Environment: /storage/Users/currentUser/.venv
   Injection: /storage/Users/currentUser/.venv/lib/python3.14/site-packages
(.venv) localhost ~ % pip3 install numpy

Collecting numpy
  Using cached numpy-2.4.6-cp314-cp314-musllinux_1_2_aarch64.whl.metadata (6.6 kB)
Using cached numpy-2.4.6-cp314-cp314-musllinux_1_2_aarch64.whl (17.0 MB)
Installing collected packages: numpy
Successfully installed numpy-2.4.6

 [ohos-pip-autosign] Installation finished. Starting OHOS binary signing...
 [ohos-pip-autosign]SIGNED: _simd.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: _multiarray_umath.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: _operand_flag_tests.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: _struct_ufunc_tests.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: _multiarray_tests.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: _common.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: libscipy_openblas64_-fe94b9c2.so
 [ohos-pip-autosign]SIGNED: bit_generator.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: _bounded_integers.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: _sfc64.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: _generator.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: _mt19937.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: _philox.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: _rational_tests.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: _umath_linalg.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: libgcc_s-2d945d6c-767fb991.so.1
 [ohos-pip-autosign]SIGNED: libstdc++-85f2cd6d.so.6.0.33
 [ohos-pip-autosign]SIGNED: _umath_tests.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: libgfortran-67378ab2-e7e7cfab.so.5.0.0
 [ohos-pip-autosign]SIGNED: libgcc_s-2d945d6c.so.1
 [ohos-pip-autosign]SIGNED: mtrand.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: lapack_lite.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: _pcg64.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign]SIGNED: _pocketfft_umath.cpython-314-aarch64-linux-musl.so
 [ohos-pip-autosign] --- All tasks finished ---

[notice] A new release of pip is available: 26.1.1 -> 26.1.2
[notice] To update, run: pip install --upgrade pip
(.venv) localhost ~ % cat <<EOF > test.py
import numpy as np
arr = np.array([1, 2, 3])
print(arr * 2)
EOF
(.venv) localhost ~ % python3 test.py


[2 4 6]
(.venv) localhost ~ %

写完脚本后,你执行了 python3 test.py 运行这个文件,终端输出了 [2 4 6],这说明脚本运行成功了:numpy 库能正常导入,数组创建和运算也都正常执行,之前遇到的签名/权限问题已经彻底解决,numpy 现在可以在你的鸿蒙环境里正常使用了。


三、codeArts IDE 配置 Python 开发环境:

CodeArts IDE 是华为推出的一款面向鸿蒙、昇腾等平台的集成开发工具,它把代码编辑、智能补全、编译调试、签名部署这些开发环节都整合在了一起,尤其适配你现在用的鸿蒙系统环境.

之前用到的 ohos-pip-autosign 这类工具,就是它为了让 Python 等开发语言能在鸿蒙上正常运行而内置的配套功能,帮你解决了二进制文件权限、签名这类系统级的限制问题。它不像普通编辑器只提供基础的代码编辑功能,而是自带了 AI 代码助手,能帮你写代码、查问题,也能直接对接华为云的服务和鸿蒙开发流程,你现在在终端里做的创建虚拟环境、安装 numpy、运行测试脚本这些操作,都是在这个 IDE 提供的开发环境里完成的,相当于给你在鸿蒙上搭建了一套完整、省心的 Python 开发工作台。

接下来我们可以打开CodeArts IDE,点击新建工程,创建一个新的项目。

请添加图片描述

请添加图片描述

激活虚拟环境后,你执行了 ohos-pip-autosign activate,这一步就是给当前虚拟环境开启自动签名功能,终端返回了 [Success] OHOS Pip Autosign activated,说明激活成功了,之后用 pip 安装带 .so 文件的库(比如 numpy),工具就会自动给这些文件签名,解决鸿蒙系统的权限拦截问题。

请添加图片描述

最后执行的 pip3 install numpy,是在当前激活的虚拟环境里安装 numpy 库,过程里的 WARNING 是 pip 缓存的小问题,不影响安装,后面的 Collecting numpy 等日志说明 numpy 正在下载安装,安装完成后就会自动触发签名工具,给 numpy 的核心文件完成签名,这样后面运行 Python 脚本就不会再报 Permission denied 错误了。

请添加图片描述

接下来,你先执行了mkdir code,在当前目录下创建了一个名为code的文件夹,用来存放你的 Python 代码文件,然后用cd code命令进入这个新建的文件夹,后续的所有操作都将在这个目录里进行。

接着,你用cat < test.py这条命令创建了一个test.py文件,这种写法可以直接在终端里把多行代码写入文件,而不用打开文本编辑器。写入的代码是一段简单的 NumPy 测试脚本:先导入 NumPy 库并简写为np,然后创建一个包含[1, 2, 3]的数组,最后让数组里的每个元素都乘以 2 并打印结果。写完文件后,你用ls命令查看目录,确认test.py文件已经成功创建。

请添加图片描述

最后,你执行了python3 test.py来运行这个脚本,终端输出了[2 4 6],这正是预期的结果,说明你的虚拟环境、NumPy 安装和鸿蒙自动签名都已经配置完成,脚本成功运行,没有再出现之前的权限或签名错误。

请添加图片描述

当然,也可以通过右上角的绿色三角形来运行脚本,这样脚本就会在 CodeArts IDE 的终端里运行,和直接在终端里运行一样,可以看到也是可以正常输出结果的。


四、总结:

这份文档完整讲解了鸿蒙PC(OpenHarmony)+ CodeArts IDE下Python前端开发环境的整套搭建流程,结合鸿蒙系统特性、专属工具与实操排错,整体梳理如下:

为解决软件安装、依赖编译与平台适配问题,文档引入了Harmonybrew,它是适配鸿蒙系统的类Homebrew包管理器,弥补了原生鸿蒙命令行工具匮乏、软件只能手动编译配置的短板,依靠统一命令完成软件安装、依赖解析、版本管理,同时针对鸿蒙的运行库、权限机制做了专属适配,是安装系统级开发工具与定制版Python的基础。部署前需要提前开启设备开发者选项、放开非应用市场扩展权限,并卸载会产生冲突的软件,之后执行一键安装脚本部署Harmonybrew,再写入终端配置文件永久生效环境变量,保证brew命令全局可用。

完成包管理器部署后,通过brew安装鸿蒙定制版Python与专属签名工具ohos-pip-autosign,前者适配鸿蒙底层环境规避兼容问题,后者则是应对系统安全规则的关键,鸿蒙要求所有.so动态库必须经过官方签名才能加载,而Python数值计算类库如NumPy都包含这类文件,未签名就会直接抛出权限错误。遵循Python通用规范,这里选择创建独立虚拟环境来隔离项目依赖,避免版本冲突,激活虚拟环境后再开启自动签名功能,该功能会在使用pip安装库时自动扫描新增的动态库并完成系统签名,全程无需手动干预。

随后以NumPy为例演示第三方库安装与功能验证,NumPy是Python主流的数值计算基础库,广泛用于数据分析、机器学习等场景。安装完成后编写测试脚本检验运行状态,初期出现的动态库权限报错,根源就是签名缺失,重新确认并激活自动签名工具、重新安装库完成签名流程后,脚本顺利运行并输出预期结果,问题得到彻底解决。

整套环境可无缝对接华为CodeArts IDE,这款集成开发工具原生适配鸿蒙与昇腾生态,整合了代码编辑、智能提示、调试、终端等能力,还内置相关配套工具,在IDE内新建项目、沿用已配置好的虚拟环境与签名服务,即可直接开展Python开发,无论是终端执行命令还是点击界面按钮运行代码,都能稳定工作,至此便完成了鸿蒙PC平台完整、可正常使用的Python开发环境搭建。

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐