taojy123/KeymouseGo

银河麒麟V10系统无法运行release的linux包,并且从源码打包可执行文件失败

Opened this issue · 5 comments

操作系统为银河麒麟V10,处理器是Kirin990,linux 4.19.71-14-kr990,其处理器为arm64架构。运行linux包无法运行。并且从源码打包可执行文件失败。
image

$ pip3 install -r requirements-universal.txt
Collecting pynput==1.7.6
  Downloading pynput-1.7.6-py2.py3-none-any.whl (89 kB)
     |████████████████████████████████| 89 kB 780 kB/s 
Collecting pyperclip==1.8.0
  Downloading pyperclip-1.8.0.tar.gz (16 kB)
Collecting pyautogui==0.9.53
  Downloading PyAutoGUI-0.9.53.tar.gz (59 kB)
     |████████████████████████████████| 59 kB 2.9 MB/s 
Collecting future==0.18.3
  Downloading future-0.18.3.tar.gz (840 kB)
     |████████████████████████████████| 840 kB 1.7 MB/s 
ERROR: Could not find a version that satisfies the requirement PySide2==5.15.2.1 (from -r requirements-universal.txt (line 7)) (from versions: none)
ERROR: No matching distribution found for PySide2==5.15.2.1 (from -r requirements-universal.txt (line 7))
$ ./KeymouseGo_v5_1_1-linux 
bash: ./KeymouseGo_v5_1_1-linux:无法执行二进制文件: 可执行文件格式错误

如何在此系统中运行?

应该是系统无法安装合适版本的 PySide2

应该是系统无法安装合适版本的 PySide2

release的linux包是不是不支持arm架构?可不可以编译打包这种包?

目前的release使用Github Action在Github提供的虚拟环境中打包,而Github提供的Runner中没有arm架构的虚拟机,因此发布的linux包只支持x86架构。

从PyPI上的PySide2发布信息可以看到5.15.2.1版本没有提供arm架构的版本,因此使用pip install报错。这方面只能下载PySide2的源码编译了,网上应该有相应教程。https://blog.csdn.net/guolianzi/article/details/130385133 https://blog.csdn.net/l550802356/article/details/126425324。

你发的链接没讲清楚,我网上找了一圈arm64编译pyside太麻烦了而且我不是很懂编译,这个项目可不可以提上日程以后解决arm架构问题?我可以给予技术测试

我在树莓派上试了一下,用apt安装PySide2可以给系统自带的python3加入PySide2模块。

sudo apt install python3-pyside2.qt3dcore python3-pyside2.qt3dinput python3-pyside2.qt3dlogic python3-pyside2.qt3drender python3-pyside2.qtcharts python3-pyside2.qtconcurrent python3-pyside2.qtcore python3-pyside2.qtgui python3-pyside2.qthelp python3-pyside2.qtlocation python3-pyside2.qtmultimedia python3-pyside2.qtmultimediawidgets python3-pyside2.qtnetwork python3-pyside2.qtopengl python3-pyside2.qtpositioning python3-pyside2.qtprintsupport python3-pyside2.qtqml python3-pyside2.qtquick python3-pyside2.qtquickwidgets python3-pyside2.qtscript python3-pyside2.qtscripttools python3-pyside2.qtsensors python3-pyside2.qtsql python3-pyside2.qtsvg python3-pyside2.qttest python3-pyside2.qttexttospeech python3-pyside2.qtuitools python3-pyside2.qtwebchannel python3-pyside2.qtwebsockets python3-pyside2.qtwidgets python3-pyside2.qtx11extras python3-pyside2.qtxml python3-pyside2.qtxmlpatterns shiboken2

然后删去requirements-universal.txt内的PySide2那一行,通过pip安装剩余依赖,就可以打包运行了。

不过现在主分支的内容已经更新,暂时不能通过github action打包老版本,你可以下载5.1版本的源码打包试试看。

另外我找到了arm架构的github runner,如果顺利的话后续版本可以像现有的打包方法一样打包arm64的程序。