当前位置: 首页 > java >正文

突然无法调用scikit-learn、xgboost

遇到的错误包含:

  File "<string>", line 3, in <module>File "/usr/anaconda3/envs/py37/lib/python3.7/site-packages/sklearn/__init__.py", line 81, in <module>from . import __check_build  # noqa: F401File "/usr/anaconda3/envs/py37/lib/python3.7/site-packages/sklearn/__check_build/__init__.py", line 50, in <module>raise_build_error(e)File "/usr/anaconda3/envs/py37/lib/python3.7/site-packages/sklearn/__check_build/__init__.py", line 43, in raise_build_error% (e, local_dir, "".join(dir_content).strip(), msg)
ImportError: dlopen: cannot load any more object with static TLS
___________________________________________________________________________
Contents of /usr/anaconda3/envs/py37/lib/python3.7/site-packages/sklearn/__check_build:
__init__.py               setup.py                  _check_build.cpython-37m-x86_64-linux-gnu.so
__pycache__
___________________________________________________________________________
It seems that scikit-learn has not been built correctly.If you have installed scikit-learn from source, please do not forget
to build the package before using it: run `python setup.py install` or
`make` in the source directory.If you have used an installer, please check that it is suited for your
Python version, your operating system and your platform.
  File "<string>", line 5, in <module>File "/usr/anaconda3/envs/py37/lib/python3.7/site-packages/xgboost/__init__.py", line 6, in <module>from .core import (File "/usr/anaconda3/envs/py37/lib/python3.7/site-packages/xgboost/core.py", line 231, in <module>_LIB = _load_lib()File "/usr/anaconda3/envs/py37/lib/python3.7/site-packages/xgboost/core.py", line 197, in _load_lib"""
xgboost.core.XGBoostError: 
XGBoost Library (libxgboost.so) could not be loaded.
Likely causes:* OpenMP runtime is not installed- vcomp140.dll or libgomp-1.dll for Windows- libomp.dylib for Mac OSX- libgomp.so for Linux and other UNIX-like OSesMac OSX users: Run `brew install libomp` to install OpenMP runtime.* You are running 32-bit Python on a 64-bit OSError message(s): ['dlopen: cannot load any more object with static TLS']

解决办法:
在脚本最开头加如下代码

# 添加在最顶部
import ctypes
import os# 强制预加载关键库(先于任何其他导入)
# ctypes.CDLL('libgomp.so.1', mode=ctypes.RTLD_GLOBAL)
# 强制预加载 OpenMP 库
try:ctypes.CDLL('libgomp.so.1', mode=ctypes.RTLD_GLOBAL)
except OSError:# 如果上述失败,尝试指定具体路径ctypes.CDLL('/usr/anaconda3/envs/py37/lib/libgomp.so.1', mode=ctypes.RTLD_GLOBAL)ctypes.CDLL('libpthread.so.0', mode=ctypes.RTLD_GLOBAL)# 设置OpenMP环境变量
os.environ["OMP_NUM_THREADS"] = "1"
os.environ["MKL_NUM_THREADS"] = "1"
os.environ["KMP_INIT_AT_FORK"] = "FALSE"# # 恢复导入路径(如有必要)
# import sys
# sys.path.insert(0, '/usr/anaconda3/envs/py37/lib/python3.7/site-packages')# 以下是你的原始代码...
import sklearn  # 这行应该在预加载后
import xgboost
http://www.xdnf.cn/news/13083.html

相关文章:

  • 创客匠人:以AI赋能创始人IP打造,开启知识变现新范式
  • 【CANN全新升级】CANN创新MLAPO算子,DeepSeek模型推理效率倍增
  • 力扣160.相交链表
  • ms12-020漏洞复现
  • TJCTF 2025
  • 问题复盘-当前日志组损坏问题
  • 运算符之赋值运算符+运算符之比较运算符
  • ETLCloud可能遇到的问题有哪些?常见坑位解析
  • c# Autorest解析
  • 【AI学习】三、AI算法中的向量
  • 【java】【服务器】线程上下文丢失 是指什么
  • 亚马逊Woot深度解析
  • 【TVM 教程】如何使用 TVM Pass Infra
  • 健康档案实训室:构建全周期健康管理的数据基石
  • python报错 ModuleNotFoundError: No module named ‘Crypto‘
  • Linux下如何使用Curl进行网络请求
  • 主成分分析(PCA)原理与实战:从0到1彻底掌握
  • 智能门锁申请 EN 18031 欧盟网络安全认证指南​
  • 作为测试我们应该关注redis哪些方面
  • 软件开发工程师如何在项目开发中了解学习 ISO 13485
  • AIGC 基础篇 Python基础 03 列表与条件判断
  • DeepSeek越强,Kimi越慌?
  • 【合并通感算】
  • 用户画像建模的7种机器学习方法
  • Rex-Thinker模型的核心思想、亮点和挑战
  • Solidity从入门到精通-Remix的基本使用和Solidity的基本数据类型
  • Java UDP网络通信实战指南
  • 时空网络动力学图谱分析完整解决方案
  • delphi安装SAP控件:SAPFunctionsSAPLogonControl
  • 线程中可见性ABA问题是什么如何解决