linux导入包时出现ImportError: dlopen: cannot load any more object with static TLS

这个问题很难下定论,有人说是glibc版本过低,有人说是在导入python包时的顺序不对,只需要更改顺序即可。

在导入不同的包时均有可能出现此问题,paddlenlp、pytorch和tensorflow都会有。可以参考:https://blog.csdn.net/baiyuwujia/article/details/103008823。
这里给出一个解决包导入顺序冲突的方法。

出现导入错误室,会给出回溯信息,我们定位到是在导入什么模块时出现的问题:linux导入包时出现ImportError: dlopen: cannot load any more object with static TLS_第1张图片
如,我第一次是在导入swqeval库时出的问题,那就先尝试导入该库:
linux导入包时出现ImportError: dlopen: cannot load any more object with static TLS_第2张图片
可以发现该库被成功导入了,尝试其他的库,又在导入paddlenlp时sklearn出现了错误。重新更改顺序:
linux导入包时出现ImportError: dlopen: cannot load any more object with static TLS_第3张图片
发现还是不行,继续换:
linux导入包时出现ImportError: dlopen: cannot load any more object with static TLS_第4张图片
可以发现,成功导入。

你可能感兴趣的:(疑杂,开发语言)