【问题标题】:ImportError: cannot import name 'OP_NO_TICKET' from 'urllib3.util.ssl_'ImportError:无法从“urllib3.util.ssl_”导入名称“OP_NO_TICKET”
【发布时间】:2021-12-21 16:11:21
【问题描述】:

我开始在本地运行气流,并在专门运行 docker 时:docker-compose run -rm web server initdb 我开始看到这个错误。今天下午之前我没有看到这个问题,想知道是否有其他人遇到过这个问题。

无法从“urllib3.util.ssl_”导入名称“OP_NO_TICKET”

2021-11-08 20:55:08,137] {{plugins_manager.py:236}} ERROR - cannot import name 'OP_NO_TICKET' from 'urllib3.util.ssl_' (/usr/local/lib/python3.8/site-packages/urllib3/util/ssl_.py)
Traceback (most recent call last):
 File "/usr/local/lib/python3.8/site-packages/airflow/plugins_manager.py", line 228, in load_plugins_from_plugin_directory
  loader.exec_module(mod)
 File "<frozen importlib._bootstrap_external>", line 843, in exec_module
 File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
 File "/usr/local/airflow/repo/plugins/mysql_plugin/hooks/vice_mysql_hook.py", line 4, in <module>
  from airflow.providers.amazon.aws.hooks.s3 import S3Hook
 File "/usr/local/lib/python3.8/site-packages/airflow/providers/amazon/aws/hooks/s3.py", line 33, in <module>
  from boto3.s3.transfer import S3Transfer, TransferConfig
 File "/usr/local/lib/python3.8/site-packages/boto3/__init__.py", line 16, in <module>
  from boto3.session import Session
 File "/usr/local/lib/python3.8/site-packages/boto3/session.py", line 17, in <module>
  import botocore.session
 File "/usr/local/lib/python3.8/site-packages/botocore/session.py", line 29, in <module>
  import botocore.credentials
 File "/usr/local/lib/python3.8/site-packages/botocore/credentials.py", line 34, in <module>
  from botocore.config import Config
 File "/usr/local/lib/python3.8/site-packages/botocore/config.py", line 16, in <module>
  from botocore.endpoint import DEFAULT_TIMEOUT, MAX_POOL_CONNECTIONS
 File "/usr/local/lib/python3.8/site-packages/botocore/endpoint.py", line 22, in <module>
  from botocore.awsrequest import create_request_object
 File "/usr/local/lib/python3.8/site-packages/botocore/awsrequest.py", line 24, in <module>
  import botocore.utils
 File "/usr/local/lib/python3.8/site-packages/botocore/utils.py", line 32, in <module>
  import botocore.httpsession
 File "/usr/local/lib/python3.8/site-packages/botocore/httpsession.py", line 10, in <module>
  from urllib3.util.ssl_ import (
ImportError: cannot import name 'OP_NO_TICKET' from 'urllib3.util.ssl_' (/usr/local/lib/python3.8/site-packages/urllib3/util/ssl_.py)

【问题讨论】:

  • boto3 一个小时前发布了新版本。如果您将版本固定到以前的版本,它可能会工作 - pypi.org/project/boto3/#history
  • awscli 发布了 1.22.1,botocore 发布了 1.23.1,boto3 发布了 1.20.1。我尝试了这些新版本,现在对我来说很好。

标签: python-3.x airflow urllib3


【解决方案1】:

我在使用 GitLab-CI 的 CI/CD 中遇到了同样的问题。 awscli 版本 1.22.0 有这个问题。我暂时解决了在我的 gitlab-ci 文件中更改的问题:

pip install awscli --upgrade --user

作者:

pip install awscli==1.21.12 --user

因为当你调用latest时,来的版本是1.22.0

【讨论】:

  • 这对我不起作用,我仍然看到同样的错误。当我运行 aws --version 时,也会出现错误“ImportError: cannot import name 'OP_NO_TICKET' from 'urllib3.util.ssl_'”。
  • 您是否有以前更新过您的 awscli 版本的进程?您尝试过降级您的 awscli 版本吗?
  • @MighuelConde,我又试了一次,它对我有用,但我必须先卸载 awscli。谢谢!
猜你喜欢
  • 1970-01-01
  • 2019-03-12
  • 2019-06-10
  • 1970-01-01
  • 1970-01-01
  • 2022-01-22
  • 2021-06-30
  • 2020-10-19
  • 2018-08-13
相关资源
最近更新 更多