[问题] xgboost使用pyinstaller打包

楼主: buyiwhy (都是小事)   2021-10-18 17:16:58
手机排版见谅
各位大大好,先说明一下自己的情形:
我大学时有修过很简单的python,所以实验室学长离职之后,
接下他负责的一个小专案。
原本老师的描述是只需负责写一些资料处理的部分(用pandas),
因为学长已经把training的部分完成了,
所以我完全没有插手到xgboost的地方
但是在我完成程式码之后,客户说希望我们打包成.exe档给他们,
问题来了,打包完的exe执行时都会显示
modulenotfounderror: no module named xgboost,
但是在编译器里面执行的时候是正常的。
网络上其实蛮多类似的问题,但我试了那些解决办法没一个有用……
大概知道问题是在于pyinstaller打包的时候抓不到xgboost相关的档案在哪里,
但不知道怎么解决
我是用anaconda的spyder编译的,可以跑。但如果放在外面的资料夹
(没有使用虚拟环境,pip list里面有xgboost)用cmd python .py开启,也会出现一样的状况(no module…)
想知道有没有什么解决方法,如果三言两语很难说得清,
可以站内我或是直接约见面,酬劳可议><
作者: lycantrope (阿宽)   2021-10-18 17:43:00
python3 .py试试?
作者: Wilion   2021-10-18 19:33:00
不太了解你现在的环境,你说你用anaconda又说没用虚拟环境重新install看看吧,我觉得是打包的时候找不到module路径
作者: Hsins (翔)   2021-10-18 20:17:00
所以你打包的时候是用哪个路径下的 Python?
作者: Wilion   2021-10-18 21:35:00
那就在你可以跑的那个环境下打包试看看,还是很不懂都已经conda了,还要额外下载python,用conda不就是为了版本控管
作者: Hsins (翔)   2021-10-18 22:14:00
不一定, 还要看你有没有启用环境...
作者: TuCH (谬客)   2021-10-19 08:28:00
那你在cmd里面可以run吗那在cmd 里面把相关套件装起来吧 pip install xgboost
作者: moodoa3583 (金牌台灣啤酒)   2021-10-19 10:01:00
如果原来的环境都不行也许可以试试看看一个虚拟环境把requirements 都装好之后再 pyinstaller 看看
作者: yuasa (XD)   2021-10-19 13:38:00
试试看不要打包成单一个exe档,会简单很多可以看auto-py-to-ext的解释。这是一个建立在pyinstaller上的package。或者你也可以直接用它https://tinyurl.com/uyp54a3x
楼主: buyiwhy (都是小事)   2021-10-19 17:02:00
我来试试看楼上两位大大的建议,再来回报给大家
作者: timsheu (为道日损)   2021-10-20 11:00:00
pip list or pip3 list?
作者: Kendai (ShouldIStayOrShouldIGo)   2021-10-20 11:15:00
直觉是作一个虚拟环境,把pyinstaller跟该装的装一装就解了
作者: hanfadacai (没有绰啦)   2021-10-22 16:47:00
打包完的exe先拖到cmd里面 看回报的问题 之前ico没包在同一个资料夹就无法执行
作者: pmove (金疾柠檬)   2021-10-25 10:21:00
把pyinstaller 装在虚拟机下,再用虚拟机的pyinstaller 打包看看
作者: sam4mvp41   2021-11-10 05:34:00
遇过同样的问题,每次pyinstaller打包都包不到xgboost。手动把site-package lib里的xgboost 资料夹复制一份到打包好的dist 资料夹就可以了

Links booklink

Contact Us: admin [ a t ] ucptt.com