Azure机器学习python软件包有时会返回有关Databricks的依赖项错误。我在azureml-sdk[databricks]
PyPi软件包中使用Databricks运行时6.0(非ML)。特别是,cryptography
和pyopenssl
软件包在安装azureml-sdk[databricks]
时从2.6.1和19.0.0降级为1.5和16.0.0。成功安装另一个具有pyopenssl>=18.0.0
要求的软件包,就像在Databricks群集上分别安装cryptography==2.6.1
和pyopenssl==19.0.0
一样,但是有时在作业过程中会出现如下错误:
Failure while loading azureml_run_type_providers. Failed to load entrypoint hyperdrive = azureml.train.hyperdrive:HyperDriveRun._from_run_dto with exception (cryptography 1.5 (/databricks/python3/lib/python3.7/site-packages), Requirement.parse('cryptography>=2.3'), {'pyopenssl'}).
Failure while loading azureml_run_type_providers. Failed to load entrypoint azureml.PipelineRun = azureml.pipeline.core.run:PipelineRun._from_dto with exception (cryptography 1.5 (/databricks/python3/lib/python3.7/site-packages), Requirement.parse('cryptography>=2.3'), {'pyopenssl'}).
Failure while loading azureml_run_type_providers. Failed to load entrypoint azureml.ReusedStepRun = azureml.pipeline.core.run:StepRun._from_reused_dto with exception (cryptography 1.5 (/databricks/python3/lib/python3.7/site-packages), Requirement.parse('cryptography>=2.3'), {'pyopenssl'}).
Failure while loading azureml_run_type_providers. Failed to load entrypoint azureml.StepRun = azureml.pipeline.core.run:StepRun._from_dto with exception (cryptography 1.5 (/databricks/python3/lib/python3.7/site-packages), Requirement.parse('cryptography>=2.3'), {'pyopenssl'}).
Failure while loading azureml_run_type_providers. Failed to load entrypoint azureml.scriptrun = azureml.core.script_run:ScriptRun._from_run_dto with exception (cryptography 1.5 (/databricks/python3/lib/python3.7/site-packages), Requirement.parse('cryptography>=2.3'), {'pyopenssl'}).
From cffi callback <function _verify_callback at 0x7f587ef90268>:
Traceback (most recent call last):
File "/databricks/python/lib/python3.7/site-packages/OpenSSL/SSL.py", line 309, in wrapper
_lib.X509_up_ref(x509)
AttributeError: module 'lib' has no attribute 'X509_up_ref'
From cffi callback <function _verify_callback at 0x7f587ef90d08>:
Traceback (most recent call last):
File "/databricks/python/lib/python3.7/site-packages/OpenSSL/SSL.py", line 309, in wrapper
_lib.X509_up_ref(x509)
AttributeError: module 'lib' has no attribute 'X509_up_ref'
From cffi callback <function _verify_callback at 0x7f587dc1d950>:
Traceback (most recent call last):
File "/databricks/python/lib/python3.7/site-packages/OpenSSL/SSL.py", line 309, in wrapper
_lib.X509_up_ref(x509)
AttributeError: module 'lib' has no attribute 'X509_up_ref'
From cffi callback <function _verify_callback at 0x7f587dc25268>:
Traceback (most recent call last):
File "/databricks/python/lib/python3.7/site-packages/OpenSSL/SSL.py", line 309, in wrapper
_lib.X509_up_ref(x509)
AttributeError: module 'lib' has no attribute 'X509_up_ref'
SSLError: HTTPSConnectionPool(host='southcentralus.experiments.azureml.net', port=443): Max retries exceeded with url: /discovery (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')])")))
这并不是每次运行作业都发生。我尝试切换软件包的安装顺序,但仍然会间歇性地发生。与没有集群或带有azureml-sdk[databricks]
的集群相比,cryptography
是否需要更低版本的pyopenssl
和azureml-sdk
的理由?我该怎么做才能确保所有依赖性都得到满足?