V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
ASLant
V2EX  ›  Python

Arm64 安装 PyQt5/6,只能选 conda 吗?

  •  
  •   ASLant · 6 小时 55 分钟前 · 455 次点击

    公司一直用 jetson orin nano 和 NX 设备开发案例,但是需要使用 Python + Qt ,目前一直采用 miniconda3 来安装 PyQt5 这个库,无法使用 pip 直接编译安装,我认为性能是完全够的,8G 内存,但是编译安装 Qt 还是失败。但是 miniconda 有点臃肿,能用是能用,但是不好用,X86 设备都改成了 uv 统一管理,因为开发的案例涉及到环境重置等,uv 和 poetry 这种比较好,可以 100%还原依赖。conda 导出的 yaml 有时候也是会抽风,总是漏个包之类的。但是又离不开 PyQt 。所以 还有招吗? apt 安装的全局,好像不太兼容。

    在 arm64 上使用 pip 安装编译 PyQt 库,100%失败,pip 也没有 arm64 设备预编译好的 wheel. conda 在 arm64 设备提供预编译好的 pyqt 库,conda install 是可以直接基于当前 Python 版本安装的,不需要编译.

    13 条回复    2025-10-20 19:16:21 +08:00
    sivacohan
        1
    sivacohan  
    PRO
       6 小时 46 分钟前 via iPhone
    pip 安装失败是头文件不完整吧,你贴个错误日志还有软件源的配置出来看看啊。
    ASLant
        2
    ASLant  
    OP
       6 小时 43 分钟前
    @sivacohan 稍等,就是跑了半小时 内存占满 被系统直接杀了,不缺任何工具链
    ASLant
        3
    ASLant  
    OP
       6 小时 42 分钟前
    @sivacohan x86_64 设备同样 8GB 内存,就是完美编译并安装的,搜了很多说 arm64 缺少什么东西 属于硬件架构问题没办法
    ASLant
        4
    ASLant  
    OP
       6 小时 26 分钟前
    @sivacohan
    (demo) user@ubuntu:~/Desktop/demo$ uv pip install pyqt5
    Resolved 2 packages in 6ms
    Building pyqt5==5.15.2
    Built pyqt5-sip==12.17.1
    ⠹ Preparing packages... (1/2)
    半小时左右,直到 8GB 内存占满,被系统直接杀死,试了多个 python 版本。x86 设备上 10 分钟左右就编译安装好了。也是 8G ,
    user@ubuntu:~/Desktop/demo$ neofetch
    .-/+oossssoo+/-. user@ubuntu
    `:+ssssssssssssssssss+:` -----------
    -+ssssssssssssssssssyyssss+- OS: Ubuntu 20.04.6 LTS aarch64
    .ossssssssssssssssssdMMMNysssso. Host: NVIDIA Orin Nano Developer Kit
    /ssssssssssshdmmNNmmyNMMMMhssssss/ Kernel: 5.10.216-tegra
    +ssssssssshmydMMMMMMMNddddyssssssss+ Uptime: 4 days, 16 hours, 47 mins
    /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/ Packages: 2009 (dpkg)
    .ssssssssdMMMNhsssssssssshNMMMdssssssss. Shell: bash 5.0.17
    +sssshhhyNMMNyssssssssssssyNMMMysssssss+ Resolution: 3840x1080
    ossyNMMMNyMMhsssssssssssssshmmmhssssssso Theme: Adwaita [GTK3]
    ossyNMMMNyMMhsssssssssssssshmmmhssssssso Icons: Adwaita [GTK3]
    +sssshhhyNMMNyssssssssssssyNMMMysssssss+ Terminal: /dev/pts/1
    .ssssssssdMMMNhsssssssssshNMMMdssssssss. CPU: ARMv8 rev 1 (v8l) (6) @ 1.510GHz
    /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/ Memory: 833MiB / 7451MiB
    +sssssssssdmydMMMMMMMMddddyssssssss+
    /ssssssssssshdmNNNNmyNMMMMhssssss/
    .ossssssssssssssssssdMMMNysssso.
    -+sssssssssssssssssyyyssss+-
    `:+ssssssssssssssssss+:`
    .-/+oossssoo+/-.

    pip 软件源是 pypi 官方源
    ASLant
        5
    ASLant  
    OP
       6 小时 24 分钟前
    @sivacohan 系统信息
    user@ubuntu
    -----------
    OS: Ubuntu 20.04.6 LTS aarch64
    Host: NVIDIA Orin Nano Developer Kit
    Kernel: 5.10.216-tegra
    Uptime: 4 days, 16 hours, 47 mins
    Packages: 2009 (dpkg)
    Shell: bash 5.0.17
    Resolution: 3840x1080
    Theme: Adwaita [GTK3]
    Icons: Adwaita [GTK3]
    Terminal: /dev/pts/1
    CPU: ARMv8 rev 1 (v8l) (6) @ 1.510GHz
    Memory: 833MiB / 7451MiB
    kero991
        6
    kero991  
       4 小时 33 分钟前
    我说说我遇到的问题,我在 arm64 上 pip 安装 pyqt5 ,会卡住不动。经过详细调试,原因是编译过程中需要确认 qt 的许可证,但 pip 流程中没有导出相关输入输出接口,没有给你输入 y 的机会,所以后台其实卡在交互上。
    解决方案也很简单,使用
    pip install pyqt5 --config-settings --confirm-license=
    通过--config-settings 参数将另一个参数--confirm-license=传递给后台。
    当然你也可以使用 pyqt5 源码,然后使用 sip 模块手动编译。实际上 pip 并不是 pyqt 的推荐安装方式。

    不过这只是我遇到的问题和解决方案,不一定适合你的情况,仅供参考。
    jackOff
        7
    jackOff  
       3 小时 30 分钟前
    要不然试试 pyside6?
    Linioi
        8
    Linioi  
       2 小时 49 分钟前
    可以试试 Pixi ,Conda 生态的环境管理工具,rust 编写,可以混合管理 Conda 软件和 pypi 软件(内置 uv 处理),挺轻量好用的。
    yolee599
        9
    yolee599  
       2 小时 44 分钟前 via Android
    试试交叉编译呢? arm 的设备一般都是用交叉编译的
    ASLant
        10
    ASLant  
    OP
       1 小时 12 分钟前
    @jackOff pyside 也是 qt 框架,也不行
    ASLant
        11
    ASLant  
    OP
       1 小时 12 分钟前
    @Linioi 我去看看
    ASLant
        12
    ASLant  
    OP
       1 小时 11 分钟前
    @yolee599 太麻烦了这个
    ASLant
        13
    ASLant  
    OP
       1 小时 11 分钟前
    @kero991 好的
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2993 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 12:28 · PVG 20:28 · LAX 05:28 · JFK 08:28
    ♥ Do have faith in what you're doing.