我正在尝试使用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
可以关闭案件。我首先发现在python 3+中应该使用beatbox3。但随后发现了其他错误(可能的兼容性问题)。
因为我注意到它花了我太长时间,而是我尝试使用库simple-salesforce 0.74.2来连接,并且它工作得很好。
可能Python不知道在哪里搜索模块。默认情况下,仅搜索sitepackages目录和工作目录。您可以通过将一个符号链接放置到beatbox包或将其移动到sitepackages目录来解决此问题