Databricks 中的 Python import simple_salesforce 给出:没有名为 cryptography.hazmat.primitives.asymmetric.ed25519 的模块

问题描述

我正在尝试使用 Azure Databricks 启动导入库的 Python 脚本:“simple_salesforce”

我已经安装了如下图所示的库,请注意,在安装库时,名称应为“simple-salesforce”,而在导入时应为“simple_salesforce”(只是说我没有弄错名称): Installation of the library

如下图所示,库安装成功: simple-salesforce installed

尝试将其导入我的工作区时,使用:

import simple_salesforce

我收到以下错误(请参阅下面的错误图片):

ImportError: No module named 'cryptography.hazmat.primitives.asymmetric.ed25519'

Error

我尝试使用与安装其他库相同的方法安装“加密”库(见下图),但我仍然遇到相同的错误cryptography

有没有我遗漏的步骤?

最好的问候,

解决方法

您没有安装库“加密”。您很可能正在使用 5.5 LTS 或更低版本的 Databricks 运行时版本,只有一名工作人员。

问题是您有一个带有 Python3 的 Databricks 集群,并且笔记本在 Python2 内核上运行。

方法一

检查你是否有 python 3:

%sh
python3 --version

然后安装pip3:

%sh
sudo apt install python3-pip

之后你可以安装“密码学”

方法二

我强烈推荐这种方法,它包括使用 7.4 Databricks Runtime 版本和至少 2 个工人,然后你将默认安装 python3 和库“cryptography”。

您只需要从库部分手动安装 simple-salesforce,并且:

import simple_salesforce