[問題] xgboost使用pyinstaller打包

看板Python作者 (都是小事)時間3年前 (2021/10/18 17:17), 3年前編輯推噓9(909)
留言18則, 9人參與, 3年前最新討論串1/1
手機排版見諒 各位大大好,先說明一下自己的情形: 我大學時有修過很簡單的python,所以實驗室學長離職之後, 接下他負責的一個小專案。 原本老師的描述是只需負責寫一些資料處理的部分(用pandas), 因為學長已經把training的部分完成了, 所以我完全沒有插手到xgboost的地方 但是在我完成程式碼之後,客戶說希望我們打包成.exe檔給他們, 問題來了,打包完的exe執行時都會顯示 modulenotfounderror: no module named xgboost, 但是在編譯器裡面執行的時候是正常的。 網路上其實蠻多類似的問題,但我試了那些解決辦法沒一個有用…… 大概知道問題是在於pyinstaller打包的時候抓不到xgboost相關的檔案在哪裡, 但不知道怎麼解決 我是用anaconda的spyder編譯的,可以跑。但如果放在外面的資料夾 (沒有使用虛擬環境,pip list裡面有xgboost)用cmd python .py開啟,也會出現一樣的狀況(no module…) 想知道有沒有什麼解決方法,如果三言兩語很難說得清, 可以站內我或是直接約見面,酬勞可議>< ----- Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.135.66 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1634548620.A.FBD.html

10/18 17:43, 3年前 , 1F
python3 .py試試?
10/18 17:43, 1F

10/18 19:33, 3年前 , 2F
不太了解你現在的環境,你說你用anaconda又說沒用虛擬環境
10/18 19:33, 2F
哦我意思是我程式是用anaconda寫的,但我打包的時候是在我檔案的資料夾那邊開cmd包的

10/18 19:34, 3年前 , 3F
重新install看看吧,我覺得是打包的時候找不到module路徑
10/18 19:34, 3F
※ 編輯: buyiwhy (49.216.135.66 臺灣), 10/18/2021 20:07:54

10/18 20:17, 3年前 , 4F
所以你打包的時候是用哪個路徑下的 Python?
10/18 20:17, 4F
我有額外下載python,加到環境變數的PATH, 應該是這個吧 ※ 編輯: buyiwhy (49.216.135.66 臺灣), 10/18/2021 20:24:49

10/18 21:35, 3年前 , 5F
那就在你可以跑的那個環境下打包試看看,還是很不懂都已經
10/18 21:35, 5F
因為第一次在conda那邊包的時候也有error,而且那個error比較google不到解決方案

10/18 21:36, 3年前 , 6F
conda了,還要額外下載python,用conda不就是為了版本控管
10/18 21:36, 6F
※ 編輯: buyiwhy (49.216.135.66 臺灣), 10/18/2021 22:09:46

10/18 22:14, 3年前 , 7F
不一定, 還要看你有沒有啟用環境...
10/18 22:14, 7F

10/19 08:28, 3年前 , 8F
那你在cmd裡面可以run嗎
10/19 08:28, 8F
在我自己的電腦裡面可以,但研究室的不行;兩台都有裝了相關套件,所以我也是很矇哈哈

10/19 08:29, 3年前 , 9F
那在cmd 裡面把相關套件裝起來吧 pip install xgboost
10/19 08:29, 9F

10/19 10:01, 3年前 , 10F
如果原來的環境都不行也許可以試試看看一個虛擬環境把
10/19 10:01, 10F

10/19 10:01, 3年前 , 11F
requirements 都裝好之後再 pyinstaller 看看
10/19 10:01, 11F

10/19 13:38, 3年前 , 12F
試試看不要打包成單一個exe檔,會簡單很多
10/19 13:38, 12F

10/19 13:46, 3年前 , 13F
可以看auto-py-to-ext的解釋。這是一個建立在pyinstaller上
10/19 13:46, 13F

10/19 13:47, 3年前 , 14F
的package。或者你也可以直接用它
10/19 13:47, 14F

10/19 13:48, 3年前 , 15F
※ 編輯: buyiwhy (49.216.27.136 臺灣), 10/19/2021 17:01:35

10/19 17:02, 3年前 , 16F
我來試試看樓上兩位大大的建議,再來回報給大家
10/19 17:02, 16F

10/20 11:00, 3年前 , 17F
pip list or pip3 list?
10/20 11:00, 17F

10/20 11:15, 3年前 , 18F
直覺是作一個虛擬環境,把pyinstaller跟該裝的裝一裝就解了
10/20 11:15, 18F
文章代碼(AID): #1XRJkC-z (Python)
文章代碼(AID): #1XRJkC-z (Python)