如何获得有关Python意外SIGABRT的更多信息?
我正在使用:如何获得有关Python意外SIGABRT的更多信息?,python,python-3.x,macos,sigabrt,Python,Python 3.x,Macos,Sigabrt,我正在使用: MacOS Catalina,版本10.15(19A603) python 3.7.4 pip3 在venv中运行和调试以下Python代码: import jose print(jose) from jose import jwt token = jwt.encode({'key': 'value'}, 'secret', algorithm='HS256') print(token) 结果显示以下错误: 过程结束,退出代码为134(被信号6:SIGABRT中断) 具体行为:来
import jose
print(jose)
from jose import jwt
token = jwt.encode({'key': 'value'}, 'secret', algorithm='HS256')
print(token)
结果显示以下错误:
过程结束,退出代码为134(被信号6:SIGABRT中断)
具体行为:来自jose import jwt
我怎样才能获得更多关于解决该问题的信息
我的venv pip冻结:
Active-Alchemy==1.0.0
alembic==1.2.1
aniso8601==8.0.0
anyjson==0.3.3
appnope==0.1.0
arrow==0.15.2
asn1crypto==0.24.0
attrdict==2.0.0
attrs==19.3.0
auth0-python==3.1.2
backcall==0.1.0
bcrypt==3.1.7
beautifulsoup4==4.8.1
bleach==3.1.0
boto3==1.10.2
botocore==1.13.2
cachetools==3.1.1
certifi==2019.9.11
cffi==1.11.5
chardet==3.0.4
Click==7.0
configparser==4.0.2
crypto==1.4.1
cryptography==2.4.2
cssselect==1.1.0
cytoolz==0.9.0.1
decorator==4.3.0
defusedxml==0.6.0
django-dotenv==1.4.2
dnspython==1.16.0
docutils==0.15.2
EasyProcess==0.2.7
ecdsa==0.13
emoji==0.4.5
entrypoints==0.3
eth-abi==1.2.2
eth-account==0.3.0
eth-hash==0.2.0
eth-keyfile==0.5.1
eth-keys==0.2.0b3
eth-rlp==0.1.2
eth-typing==1.3.0
eth-utils==1.2.2
eventlet==0.25.1
facebook-sdk==2.0.0
feedparser==5.2.1
Flask==1.1.1
flask-restplus==0.13.0
Flask-SQLAlchemy==2.4.1
forex-python==1.5
future==0.16.0
gevent==1.4.0
google-api-python-client==1.6.3
google-auth==1.6.3
google-auth-httplib2==0.0.3
greenlet==0.4.15
gunicorn==19.9.0
hexbytes==0.1.0
httplib2==0.10.3
idna==2.5
importlib-metadata==0.23
inflection==0.3.1
ipykernel==5.1.3
ipython==7.8.0
ipython-genutils==0.2.0
ipywidgets==7.5.1
iso3166==0.8
iso8601==0.1.12
itsdangerous==1.1.0
jedi==0.15.1
Jinja2==2.10.3
jmespath==0.9.4
joblib==0.14.0
jsonpickle==0.9.5
jsonrpclib==0.1.7
jsonschema==3.1.1
jupyter-client==5.3.4
jupyter-core==4.6.1
logstash-formatter==0.5.17
lru-dict==1.1.6
lxml==4.4.1
Mako==1.0.7
MarkupSafe==1.0
mistune==0.8.4
monotonic==1.5
more-itertools==7.2.0
mysqlclient==1.4.4
Naked==0.1.31
nbconvert==5.6.1
nbformat==4.4.0
nltk==3.4.5
notebook==6.0.1
numpy==1.17.3
oauth2client==4.1.2
orderedset==2.0.1
Paginator==0.5.1
pandas==0.25.2
pandocfilters==1.4.2
parsimonious==0.8.1
parso==0.5.1
passlib==1.7.1
pexpect==4.7.0
pg8000==1.10.2
pickleshare==0.7.5
prometheus-client==0.7.1
prompt-toolkit==2.0.10
psycopg2==2.7.3
psycopg2-binary==2.8.4
ptyprocess==0.6.0
py==1.7.0
py4j==0.10.8.1
pyasn1==0.3.3
pyasn1-modules==0.1.1
pycountry==19.8.18
pycparser==2.19
pycryptodome==3.7.0
Pygments==2.4.2
PyJWT==1.6.1
PyMySQL==0.6.6
Pyro4==4.77
pyrsistent==0.15.4
pyscreenshot==0.5.1
python-dateutil==2.6.1
python-editor==1.0.3
python-jose==3.0.1
python-logstash==0.4.6
pytz==2017.2
PyVirtualDisplay==0.2.4
PyYAML==3.13
pyzmq==18.1.0
qgrid==1.1.1
redis==3.3.11
requests==2.22.0
requests-file==1.4.2
retry==0.9.2
retrying==1.3.3
rlp==1.0.3
rq==1.1.0
rsa==4.0
s3transfer==0.2.1
scrypt==0.8.6
Send2Trash==1.5.0
sentry-sdk==0.13.0
serpent==1.28
shellescape==3.4.1
simplejson==3.11.1
six==1.12.0
snowplow-analytics-sdk==0.2.3
soupsieve==1.9.4
SQLAlchemy==1.2.14
SQLAlchemy-Utils==0.34.2
sqlitedict==1.6.0
statsd==3.3.0
terminado==0.8.2
testpath==0.4.2
textblob==0.15.3
tldextract==2.1.0
toolz==0.9.0
tornado==6.0.3
tqdm==4.36.1
traitlets==4.3.3
uritemplate==3.0.0
urllib3==1.21.1
wcwidth==0.1.7
web3==4.8.1
webencodings==0.5.1
websockets==6.0
Werkzeug==0.16.0
widgetsnbextension==3.5.1
zipp==0.6.0
我是如何解决的:
编写一个脚本,逐个安装依赖项,然后执行Python代码以捕获dep导致的失败
发现它在安装asn1crpto后开始抛出
尝试仅安装asn1cyrpto和jose->成功执行Python代码
然后,在已安装jose和asn1crypto的情况下,逐个重新运行安装deps的脚本,发现在加密后dep安装后,它又开始抛出
因此搜索(加密+asn1crypto)相关问题
找到更新asn1crypto0.24.0->1.0.0的建议
问题已解决。我会尝试将有问题的行包装在try/except块中,并记录异常。我在使用pyjwt时遇到类似问题,即使使用
pyjwt-v
也会因SIGABRT
而失败。尝试将加密版本(从cryptography==2.4.2)升级到下面列出的版本,它修复了我的问题
"cryptography": {
"version": "2.8"
}
同样的问题,而且是正确的。升级
cryptography
至2.8
解决此问题。模块故障处理程序会根据以下信号明确转储Python回溯:
python -X faulthandler test.py
添加了try和except,但没有提供更多信息。sama意外的SIGABTSIGABRT闻起来像是库兼容性或依赖性问题之类的。您是否可以访问另一个可以尝试设置venv的框?或者通过Docker试试?这可能就是问题所在。我如何才能收集更多关于当前安装的信息来修复它?我可能会尽可能先剥离一个venv(因此只需
jose
及其自动安装的依赖项)。如果仍然崩溃,那么您可以开始更多地了解它使用的系统库,也许可以尝试这些库的不同版本。然后我将req.txt拆分为chunks安装,并查看它是否仍然运行良好。到达asn1crypto。当我安装那个库时,程序又开始崩溃了。重新创建环境并只安装python jose和asn1crypto,它可以工作,但当我安装其余的DEP时,它失败了。如何找到导致这种情况的原因?这可能是因为旧版本的asn1crypto导入了(可能)与加密包不同的OpenSSL。最新的加密不再依赖于asn1crypto(最新的asn1crypto也不再依赖于asn1crypto),因此升级其中任何一个都可能解决此问题。