大家好,我是刘明,明志科技创始人,华为昇思MindSpore布道师。
技术上主攻前端开发、鸿蒙开发和AI算法研究。
努力为大家带来持续的技术分享,如果你也喜欢我的文章,就点个关注吧
问题背景
随着骁龙X Elite轻薄本推向市场,ARM PC迎来了大爆发。ARM 笔记本具有低功耗、续航长的特点。作为一个开发人员,我尝试在Windows on Arm平台上开发桌面应用并使用Electron作为开发方案。在打包时,奇怪的遇到了下面的报错:
No module named:distutils
介绍一下问题产生的环境配置:
操作系统:Windows on Arm(微软Azure虚拟机)
内存:4GB
软件:Node 20.11.0+Electron v32.1.0, + Electron-builder v25.0.5
问题分析
Electron在打包时,会用到python环境。distutils是一个python标准包,但是为什么一个标准包会不存在呢?这是因为,从python 3.12开始,distutils 包已从标准库中移除。此时,如果你输入以下命令检查python版本,会发现你的python版本是3.12
python -V
解决方案:
方案一
输入以下命令安装setuptools:
pip install setuptools
setuptools 是 distutils 增强版,不包括在标准库中.安装setuptools之后,就不会再报错了。
方案二
将python版本降到低版本,推荐3.10版本