导入python包模块时报错Segmentation fault (core dumped)的解决思路
导入python包模块时报Segmentation fault (core dumped)的定位问题及解决思路
·
一、问题概述
有时候我们在Linux环境下执行代码时,会莫名奇妙出现Segmentation fault (core dumped)这个报错,很难定位到问题,就算定位到了,如果发现是导包的问题,也很难判断。所以记录下相关解决方式,以待后续遇到能及时解决。
二、解决方式
1、定位错误行
1.1 导入faulthandler包
利用python3的faulthandler,可定位到出错的代码行
import faulthandler
#在import之后直接添加以下启用代码即可
faulthandler.enable()
后边正常写代码
1.2 启动代码
直接通过命令行来启用,运行时添加-X faulthandler参数即可
python -X faulthandler python代码.py
2、解决问题
2.1 导入的python包没有用到
如果python代码里的python包并没有被代码使用,则找出后,一定要删除,不然还是会报错。
2.2 导入的python包用到了
如果导入的python包确实用上了,但还是报错,则应该是导入包顺序问题。如果用IDEA那样的软件直接规范导包顺序,本地能跑,但到线上还是会出现问题。这个时候如果不确定顺序,可以写个测试代码,不停调换顺序,直到成功,这是笨办法,但很有用。
例如:报错的导包顺序
修改后
这样就成功运行代码了
更多推荐
所有评论(0)