我正在尝试使用python来连接SF。我看到了一些文章,展示了如何在beatbox库中使用它,我确实安装了它。然而,当我试图运行简单的代码时,我得到了下面的错误。
Traceback (most recent call last):
File "c:/Users/user/hello/.vscode/hello.py", line 16, in <module>
import beatbox
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\site-packages\beatbox\__init__.py", line 1, in <module>
from _beatbox import _tPartnerNS, _tSObjectNS, _tSoapNS, SoapFaultError, SessionTimeoutError
ModuleNotFoundError: No module named '_beatbox'我导航到安装beatbox的文件夹,在那里我看到了文件_beatbox.py。我认为文件__init__.py试图导入_beatbox,但由于某种原因找不到它。你知道怎么解决这个问题吗?我错过了什么?
代码:
import beatbox
sf_username = "xxxxxx"
sf_password = "xxxxxx"
sf_token = "xxxxxx"
def getAccount():
sf = beatbox._tPartnerNS
sf_client = beatbox.PythonClient()
password = str("%s%s" % (sf_password, sf_token))
sf_client.login(sf_username, sf_password)
accQuery = "Select Id,Name From Account limit 5"
queryResult = sf_client.query(accQuery)
print ("query result: " + str(queryResult[sf.size]))
for rec in queryResult[sf.records:]:
print str(rec[2]) + " : " + str(rec[3])
return发布于 2019-04-02 16:23:18
就可以结案了。我第一次发现在python中3+应该使用beatbox3。但随后发现了其他错误(可能存在兼容性问题)。
因为我注意到它花了我太长的时间,所以我试着使用库simple-salesforce 0.74.2来连接,它工作得很好。
发布于 2019-04-02 16:24:29
可能,Python不知道在哪里搜索模块。默认情况下,只搜索sitepackages目录和您的工作目录。您可以通过放置指向beatbox包的符号链接或将其移动到sitepackages目录来重新加载此包
发布于 2020-08-03 05:04:06
如果你将sitepackage文件夹名称从"beatbox“改为"_beatbox”,这将解决你的问题。然后,您可以将其导入为:"import beatbox“,它将加载到Python中。
https://stackoverflow.com/questions/55468939
复制相似问题