[问题] pyinstaller跨平台使用

楼主: moodoa3583 (金牌台灣啤酒)   2020-09-13 19:54:54
前阵子想说帮朋友解决繁琐的工作,就做了一个py小程式,
而他的电脑没有装 python ,所以我初步是想用 pyinstaller 打包成 exe 再给他。
但由于我的电脑是 windows 他的是 mac,所以产出的 exe 档没办法使用,
错误如下:
"You can't open the application "xxx.exe" because Microsoft Windows
application are not supported on maxOS"
参考了网络上用 docker 打包的方式产出的 exe 档也还是同错误没办法使用。
目前有点卡住,还想请教各位这种状况通常会怎么处理比较好,感谢。
作者: OrzOGC (洞八达人.拖哨天王)   2020-09-13 20:18:00
py档给他叫他自己装python
作者: day831231 (下个地点)   2020-09-13 22:26:00
不能执行很正常,作业系统不一样,系统函式不能呼叫解法就是直接在目标平台编译,找台电脑、装虚拟机都行想在runtime跨平台的话,就需要虚拟机,例如Java的JVM,所以编译成Java code也行
作者: TuCH (谬客)   2020-09-14 00:26:00
不同作业系统包的exe不能互通 还是给py档吧
作者: yiche (你若安好,便是晴天)   2020-09-14 03:11:00
基本上你有解了吧 就我的经验docker就是用在这情况的,在容器部署编译环境nuitka可以把py 编译成c code在转成exe,不过不确定mac os装cpp compiler 是不是能执行这个c code。exe 只能在windows执行,其它作业系统不认识这个档案格式吧!https://i.imgur.com/oVcH8YK.jpg
作者: TuCH (谬客)   2020-09-14 12:44:00
pyinstall 的用法就是把当下版本的python压缩在exe里面不同作业系统用的python 不一样 当然不能run
作者: w0005151 (蓝厅)   2020-09-14 21:16:00
用docker但还是编译出.exe不就没意义了吗...就叫你朋友装Python吧,然后给他一个requirements.txt
作者: zebracoco (公子吃丙)   2020-09-14 23:16:00
我的办法是自己买一台mac电脑,然后安装python后,再将py档做成exe再给对方
作者: roccqqck (ccqq)   2020-09-17 20:41:00
同一台开个非admin user 装python在user 编译完就删掉user
作者: MAGICXX (逢甲阿法)   2020-09-21 19:05:00
我一直以为MAC是DMG?

Links booklink

Contact Us: admin [ a t ] ucptt.com