作者moodoa3583 (金牌台湾啤酒)
看板Python
标题[问题] pyinstaller跨平台使用
时间Sun Sep 13 19:54:54 2020
前阵子想说帮朋友解决繁琐的工作,就做了一个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 档也还是同错误没办法使用。
目前有点卡住,还想请教各位这种状况通常会怎麽处理比较好,感谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.44.76.202 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1599998096.A.6DA.html
1F:→ OrzOGC: py档给他叫他自己装python 09/13 20:18
虽然这样最方便,但其实我自己也蛮好奇跨平台的做法的
※ 编辑: moodoa3583 (114.137.243.73 台湾), 09/13/2020 20:25:26
2F:→ day831231: 不能执行很正常,作业系统不一样,系统函式不能呼叫 09/13 22:26
3F:→ day831231: 解法就是直接在目标平台编译,找台电脑、装虚拟机都行 09/13 22:27
4F:→ day831231: 想在runtime跨平台的话,就需要虚拟机,例如Java的JVM 09/13 22:30
5F:→ day831231: ,所以编译成Java code也行 09/13 22:30
6F:推 TuCH: 不同作业系统包的exe不能互通 还是给py档吧 09/14 00:26
7F:推 yiche: 基本上你有解了吧 就我的经验docker就是用在这情况的,在容 09/14 03:11
8F:→ yiche: 器部署编译环境 09/14 03:11
9F:推 yiche: nuitka可以把py 编译成c code在转成exe,不过不确定mac os 09/14 03:14
10F:→ yiche: 装cpp compiler 是不是能执行这个c code。 09/14 03:14
的确看起来是用docker解,但不知为何出来的exe档还是没办法跨平台使用
※ 编辑: moodoa3583 (114.137.243.73 台湾), 09/14/2020 10:55:31
11F:推 yiche: exe 只能在windows执行,其它作业系统不认识这个档案格式吧 09/14 12:29
13F:推 TuCH: pyinstall 的用法就是把当下版本的python压缩在exe里面 09/14 12:44
14F:→ TuCH: 不同作业系统用的python 不一样 当然不能run 09/14 12:44
15F:→ w0005151: 用docker但还是编译出.exe不就没意义了吗... 09/14 21:16
16F:→ w0005151: 就叫你朋友装Python吧,然後给他一个requirements.txt 09/14 21:17
噢拍谢我以为在Mac上的执行档也是用exe档来称呼,感谢长知识。其实是有出一个副档名是unix和一个没有副档名的,但两个都不能开。
17F:推 zebracoco: 我的办法是自己买一台mac电脑,然後安装python後,再将 09/14 23:16
18F:→ zebracoco: py档做成exe再给对方 09/14 23:16
後来的确是借了一台 mac 轻松解决,真的是工欲善其事必先利其器。
※ 编辑: moodoa3583 (223.137.155.93 台湾), 09/15/2020 09:43:45
※ 编辑: moodoa3583 (223.137.155.93 台湾), 09/15/2020 09:59:01
19F:推 roccqqck: 同一台开个非admin user 装python在user 编译完就删掉us 09/17 20:41
20F:→ roccqqck: er 09/17 20:41
21F:推 MAGICXX: 我一直以为MAC是DMG? 09/21 19:05