【问题标题】:cffi.error.VerificationError (undefined symbol: SSLv2_client_method) when running Google Cloud Datalab notebook运行 Google Cloud Datalab 笔记本时出现 cffi.error.VerificationError(未定义符号:SSLv2_client_method)
【发布时间】:2019-03-28 19:26:22
【问题描述】:

我正在尝试在 Google Cloud Datalab 上运行此笔记本:https://github.com/GoogleCloudPlatform/training-data-analyst/blob/master/courses/machine_learning/feateng/feateng.ipynb

虽然昨天运行良好,但今天运行第一个块导致 cffi.error.VerificationError(未定义符号:SSLv2_client_method)。

你能告诉我如何解决这个问题吗?

我尝试从不同的 GC 配置文件执行相同操作,但问题仍然存在。 我还尝试修复“pip install”,如下所述:pip install fails with "connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)"。在 Datalab 中执行此操作会导致相同的错误;在 Datalab 外部的 Cloud shell 中执行此操作不会改变任何内容。

【问题讨论】:

  • 看起来像 SSL 的“太新”版本或 Python cffi 扩展的“太旧”版本。 SSLv2_client_method 已从版本 1.1.0 中删除
  • 我在 Datalab 中安装了以下内容:Python 2.7.15 :: Anaconda, Inc.,OpenSSL 1.0.2p 2018 年 8 月 14 日,来自 /usr/local/envs/py2env/lib/python2 的 pip 18.0 .7/site-packages/pip (python 2.7) 运行“pip uninstall -y google-cloud-dataflow”时出错
  • 您可以尝试手动卸载它吗? sudo rm -rf /usr/local/lib/python2.7/dist-packages/google-cloud-dataflow 或类似的东西
  • 后续安装也会出现同样的错误..

标签: ssl openssl google-cloud-platform google-cloud-datalab sslv2


【解决方案1】:

@ekuuni 在 github 上已经回答了这个问题:

https://github.com/GoogleCloudPlatform/training-data-analyst/issues/313

%%bash
source activate py2env
conda install -y pytz
conda update -y pyopenssl
pip uninstall -y google-cloud-dataflow
pip install --upgrade apache-beam[gcp]

我还需要这 2 行才能让它工作。

pip install tensorflow_transform
pip install tensorflow==1.9.0

一个很好的解决方法是使用虚拟环境而不是 Datalab,这样您就不必处理版本更新:

https://cloud.google.com/dataflow/docs/quickstarts/quickstart-python

我已经在 python 2.7 上成功安装了以下内容

apache-beam==2.7.0
tensorflow==1.11.0
tensorflow-transform==0.8.0

【讨论】:

    猜你喜欢
    • 2016-06-23
    • 2017-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    相关资源
    最近更新 更多