看板 Python 關於我們 聯絡資訊
手機排版見諒 各位大大好,先說明一下自己的情形: 我大學時有修過很簡單的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
lycantrope: python3 .py試試? 10/18 17:43
Wilion: 不太了解你現在的環境,你說你用anaconda又說沒用虛擬環境 10/18 19:33
哦我意思是我程式是用anaconda寫的,但我打包的時候是在我檔案的資料夾那邊開cmd包的
Wilion: 重新install看看吧,我覺得是打包的時候找不到module路徑 10/18 19:34
※ 編輯: buyiwhy (49.216.135.66 臺灣), 10/18/2021 20:07:54
Hsins: 所以你打包的時候是用哪個路徑下的 Python? 10/18 20:17
我有額外下載python,加到環境變數的PATH, 應該是這個吧 ※ 編輯: buyiwhy (49.216.135.66 臺灣), 10/18/2021 20:24:49
Wilion: 那就在你可以跑的那個環境下打包試看看,還是很不懂都已經 10/18 21:35
因為第一次在conda那邊包的時候也有error,而且那個error比較google不到解決方案
Wilion: conda了,還要額外下載python,用conda不就是為了版本控管 10/18 21:36
※ 編輯: buyiwhy (49.216.135.66 臺灣), 10/18/2021 22:09:46
Hsins: 不一定, 還要看你有沒有啟用環境... 10/18 22:14
TuCH: 那你在cmd裡面可以run嗎 10/19 08:28
在我自己的電腦裡面可以,但研究室的不行;兩台都有裝了相關套件,所以我也是很矇哈哈
TuCH: 那在cmd 裡面把相關套件裝起來吧 pip install xgboost 10/19 08:29
moodoa3583: 如果原來的環境都不行也許可以試試看看一個虛擬環境把 10/19 10:01
moodoa3583: requirements 都裝好之後再 pyinstaller 看看 10/19 10:01
yuasa: 試試看不要打包成單一個exe檔,會簡單很多 10/19 13:38
yuasa: 可以看auto-py-to-ext的解釋。這是一個建立在pyinstaller上 10/19 13:46
yuasa: 的package。或者你也可以直接用它 10/19 13:47
yuasa: https://tinyurl.com/uyp54a3x 10/19 13:48
※ 編輯: buyiwhy (49.216.27.136 臺灣), 10/19/2021 17:01:35
buyiwhy: 我來試試看樓上兩位大大的建議,再來回報給大家 10/19 17:02
timsheu: pip list or pip3 list? 10/20 11:00
Kendai: 直覺是作一個虛擬環境,把pyinstaller跟該裝的裝一裝就解了 10/20 11:15
hanfadacai: 打包完的exe先拖到cmd裡面 看回報的問題 之前ico沒包 10/22 16:47
hanfadacai: 在同一個資料夾就無法執行 10/22 16:47
pmove: 把pyinstaller 裝在虛擬機下,再用虛擬機的pyinstaller 打 10/25 10:21
pmove: 包看看 10/25 10:21
sam4mvp41: 遇過同樣的問題,每次pyinstaller打包都包不到xgboost 11/10 05:34
sam4mvp41: 。手動把site-package lib裡的xgboost 資料夾複製一份 11/10 05:34
sam4mvp41: 到打包好的dist 資料夾就可以了 11/10 05:34