最近,我在Centos 6上使用python 2.6.6导入smtplib和psycopg2时开始出现分段错误。只有在smtplib之前导入psycopg2时才会发生这种情况。
例如,这很好用:
import smtplib
import psycopg2
这会导致分段错误:
import psycopg2
import smtplib
为了尝试调试,我安装了faulthandler并运行了这个:
import faulthandler
faulthandler.enable()
import psycopg2
import smtplib
当我运行它时,我得到以下输出:
Fatal Python error: Segmentation fault
Current thread 0xb7714940 (most recent call first):
File "/usr/lib/python2.6/socket.py", line 50 in <module>
File "/usr/lib/python2.6/smtplib.py", line 44 in <module>
File "testpython.py", line 6 in <module>
Segmentation fault
这指向了socket.py作为罪犯。我查看第50行,它只是导入_ssl。为了进一步调试,我运行了这个:
import psycopg2
import _ssl
它也以相同的方式分段错误,因此导入psycopg2后_ssl导入是问题,但我不确定如何纠正它。我尝试重新安装psycopg2,卸载它并使用pip进行安装,但问题仍然存在。任何有关解决这个问题的帮助都将不胜感激。