[問題] pyinstaller跨平台使用

看板Python作者 (金牌台灣啤酒)時間4年前 (2020/09/13 19:54), 4年前編輯推噓8(8013)
留言21則, 8人參與, 4年前最新討論串1/2 (看更多)
前陣子想說幫朋友解決繁瑣的工作,就做了一個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://www.ptt.cc/bbs/Python/M.1599998096.A.6DA.html

09/13 20:18, 4年前 , 1F
py檔給他叫他自己裝python
09/13 20:18, 1F
雖然這樣最方便,但其實我自己也蠻好奇跨平台的做法的 ※ 編輯: moodoa3583 (114.137.243.73 臺灣), 09/13/2020 20:25:26

09/13 22:26, 4年前 , 2F
不能執行很正常,作業系統不一樣,系統函式不能呼叫
09/13 22:26, 2F

09/13 22:27, 4年前 , 3F
解法就是直接在目標平台編譯,找台電腦、裝虛擬機都行
09/13 22:27, 3F

09/13 22:30, 4年前 , 4F
想在runtime跨平台的話,就需要虛擬機,例如Java的JVM
09/13 22:30, 4F

09/13 22:30, 4年前 , 5F
,所以編譯成Java code也行
09/13 22:30, 5F

09/14 00:26, 4年前 , 6F
不同作業系統包的exe不能互通 還是給py檔吧
09/14 00:26, 6F

09/14 03:11, 4年前 , 7F
基本上你有解了吧 就我的經驗docker就是用在這情況的,在容
09/14 03:11, 7F

09/14 03:11, 4年前 , 8F
器部署編譯環境
09/14 03:11, 8F

09/14 03:14, 4年前 , 9F
nuitka可以把py 編譯成c code在轉成exe,不過不確定mac os
09/14 03:14, 9F

09/14 03:14, 4年前 , 10F
裝cpp compiler 是不是能執行這個c code。
09/14 03:14, 10F
的確看起來是用docker解,但不知為何出來的exe檔還是沒辦法跨平台使用 ※ 編輯: moodoa3583 (114.137.243.73 臺灣), 09/14/2020 10:55:31

09/14 12:29, 4年前 , 11F
exe 只能在windows執行,其它作業系統不認識這個檔案格式吧
09/14 12:29, 11F

09/14 12:29, 4年前 , 12F

09/14 12:44, 4年前 , 13F
pyinstall 的用法就是把當下版本的python壓縮在exe裡面
09/14 12:44, 13F

09/14 12:44, 4年前 , 14F
不同作業系統用的python 不一樣 當然不能run
09/14 12:44, 14F

09/14 21:16, 4年前 , 15F
用docker但還是編譯出.exe不就沒意義了嗎...
09/14 21:16, 15F

09/14 21:17, 4年前 , 16F
就叫你朋友裝Python吧,然後給他一個requirements.txt
09/14 21:17, 16F
噢拍謝我以為在Mac上的執行檔也是用exe檔來稱呼,感謝長知識。其實是有出一個副檔名是unix和一個沒有副檔名的,但兩個都不能開。

09/14 23:16, 4年前 , 17F
我的辦法是自己買一台mac電腦,然後安裝python後,再將
09/14 23:16, 17F

09/14 23:16, 4年前 , 18F
py檔做成exe再給對方
09/14 23:16, 18F
後來的確是借了一台 mac 輕鬆解決,真的是工欲善其事必先利其器。 ※ 編輯: moodoa3583 (223.137.155.93 臺灣), 09/15/2020 09:43:45 ※ 編輯: moodoa3583 (223.137.155.93 臺灣), 09/15/2020 09:59:01

09/17 20:41, 4年前 , 19F
同一台開個非admin user 裝python在user 編譯完就刪掉us
09/17 20:41, 19F

09/17 20:41, 4年前 , 20F
er
09/17 20:41, 20F

09/21 19:05, 4年前 , 21F
我一直以為MAC是DMG?
09/21 19:05, 21F
文章代碼(AID): #1VNWYGRQ (Python)
文章代碼(AID): #1VNWYGRQ (Python)