如何在PyScript中引入XGBoost?遇纯Python3 Wheel缺失报错
解决PyScript中无法导入xgboost的问题
问题原因
PyScript默认通过micropip从PyPI安装包,但xgboost在PyPI上的官方wheel不是纯Python版本,不兼容WebAssembly环境。而你提到的Pyodide中自带的xgboost是预编译适配WebAssembly的版本,需要用专门的方式加载。
解决方案
不要在<py-env>中声明xgboost,而是在Python代码里直接调用pyodide.load_package()加载Pyodide自带的xgboost包,具体代码示例如下:
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" /> <script defer src="https://pyscript.net/alpha/pyscript.js"></script> <py-env> - numpy - matplotlib - pandas - scikit-learn </py-env> <py-script> # 先加载Pyodide自带的xgboost import pyodide await pyodide.load_package("xgboost") # 现在可以正常导入使用了 import xgboost as xgb print("xgboost导入成功,版本:", xgb.__version__) </py-script>
补充说明
pyodide.load_package()是异步方法,所以需要用await调用,确保包加载完成后再导入。- 这种方式直接使用Pyodide预编译的适配版本,避免了micropip找wheel的问题。
内容的提问来源于stack exchange,提问作者关世杰
相关产品推荐
相关产品推荐

