Liron C
Liron C

Reputation: 181

ModuleNotFoundError: No module named '_beatbox'

I am trying to use python to connect with SF. Saw some articles that show how to use it with beatbox library and I did install it. However when trying to run simple code I'm getting error below.

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'

I navigate to the folder where the beatbox is installed and I see there the file _beatbox.py. I think the file __init__.py try to import _beatbox but cannot find it for some reason. Any idea how to solve it? What I'm missing?

Code:

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

Upvotes: 0

Views: 767

Answers (3)

Justin Van Wart
Justin Van Wart

Reputation: 1

If you change the sitepackage folder name from "beatbox" to "_beatbox" this will solve your problem. You can then import it as: "import beatbox" and it will load in Python.

Upvotes: 0

Lucas
Lucas

Reputation: 395

Probably, Python does not know where to search for the module. By default, only the sitepackages directory and your working directory is searched. You can resove this by placing a symbolic link to the beatbox package or moving it to the sitepackages directory

Upvotes: 0

Liron C
Liron C

Reputation: 181

Can close the case. I first found that in python 3+ should use beatbox3. But then found additional errors (possible compatibility issues).

Since I notice it taking me too long, instead I tried using library simple-salesforce 0.74.2 to connect, and it worked perfect.

Upvotes: 0

Related Questions