[問題] 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