一、背景

利用机器学习预测接口访问量和识别异常接口时,运行脚本报错“ImportError: dlopen: cannot load any more object with static TLS”

服务器环境为centos7,该脚本在mac下调试可正常运行,迁移到服务器后出现上述报错。

二、分析

1.该脚本在本地可运行,服务器上不可以运行,可能是环境依赖问题

2.本地输出改脚本运行的模块,查看对应模块的版本,因为排查本次报错的为scikit-learn

pip freeze > requirements.txt

3.服务器上安装对应版本的模块

pip install scikit-learn==1.4.2

4.运行脚本可正常运行

三、总结

注意,本次问题解决的前提在脚本本身可以运行迁移后无法运行,如果脚本本身还无法正常运行可能不适用于此方法。

另外,python写的脚本对各个模块和版本依赖比较高,方案1是开始前就确认好所需的版本迁移后安装相应版本和模块;方案2,就是使用docker来进行搭建方便迁移。

Logo

电影级数字人,免显卡端渲染SDK,十行代码即可调用,工业级demo免费开源下载!

更多推荐