[問題] pyinstaller 打包package問題

看板Python作者 (阿鈣鈣~)時間2年前 (2023/09/07 20:29), 編輯推噓2(2018)
留言20則, 5人參與, 最新討論串1/1
不好意思想請問板上各位高手 最近接手一個python程式的維護 但特殊的地方是當初開發的人(已畢業)他當初是把python.exe跟其它需要的package打包 成新的’python_new.exe’ 因為這一個程式很常需要複製到不同的電腦(沒網路)上run,他直接寫一個batch裡面只有 一行‘python_new.exe main.py’去執行主要程式’main.py’ 看當初那個學長的紀錄是’用pyinstaller 把pandas,numpy 打包成python_new.exe’然後 就沒有其他訊息了… 想請問板上各位高手們這個大概是怎麼做到的啊@@? 小弟目前有試過把下面的code存成‘python_new.py’: import sys, subprocess subprocess.call([‘python’, sys.argv[1]) 然後下’pyinstaller -d=all -F python_new.py’ 但新的’python_new.exe’在沒網路跟python的電腦上跑起來就會一直看到LOADER的字眼但 就是不會啟動,跑了半小時還是一直瘋狂跳出LOADER跟_frozen什麼的……. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.249.78.69 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1694089785.A.8E6.html

09/08 07:33, 2年前 , 1F
用embedded python
09/08 07:33, 1F

09/08 13:10, 2年前 , 2F
私心認為應該有很多訊息只是你看不懂所以都ignore ...
09/08 13:10, 2F

09/08 13:10, 2年前 , 3F
那個LOADER訊息 後面接的是什麼?
09/08 13:10, 3F

09/08 21:47, 2年前 , 4F
比較喜歡nuitka 包起來比較小包也比較快
09/08 21:47, 4F

09/10 04:25, 2年前 , 5F
通靈 debug. 這位學者其實沒做啥事,你的 main.py 被當作
09/10 04:25, 5F

09/10 04:26, 2年前 , 6F
參數丟進 pyinstaller 打包的 python 作為第一個參數帶入
09/10 04:26, 6F

09/10 04:27, 2年前 , 7F
他就跟你在一般電腦下 python main.py 沒啥不一樣
09/10 04:27, 7F

09/10 04:28, 2年前 , 8F
比較大的問題是 pyinstaller 執行前會把 python 檔案解壓
09/10 04:28, 8F

09/10 04:28, 2年前 , 9F
到 tmp 裡面去執行,很可能是路徑問題,你嘗試帶絕對路徑
09/10 04:28, 9F

09/10 04:29, 2年前 , 10F
而不是 main.py
09/10 04:29, 10F

09/10 04:32, 2年前 , 11F
類似: python_new.exe C:\tmp\main.py
09/10 04:32, 11F

09/13 17:44, , 12F
樓上大大倒是解了我的疑惑 常常看到包失敗的話會跑
09/13 17:44, 12F

09/13 17:44, , 13F
到那邊執行就感到很奇怪
09/13 17:44, 13F

09/13 17:49, , 14F
不過這樣的話就代表打包要用絕對路徑然後在別的電腦
09/13 17:49, 14F

09/13 17:49, , 15F
上要確保路徑一致?(比方說盡量包的時候是在桌面開
09/13 17:49, 15F

09/13 17:49, , 16F
一個folder給它包然後新機上也是桌面開一個同名fold
09/13 17:49, 16F

09/13 17:49, , 17F
er執行)
09/13 17:49, 17F

09/14 00:47, , 18F
跟你寫的 python_new.py 有關
09/14 00:47, 18F

09/14 00:48, , 19F
你上面這些邏輯就包含著要把相對路徑轉換成絕對路徑來找
09/14 00:48, 19F

09/14 00:48, , 20F
到檔案
09/14 00:48, 20F
文章代碼(AID): #1a-S8vZc (Python)
文章代碼(AID): #1a-S8vZc (Python)