Issues with python-telegram-bot compatibility in Python 3.x

I’m trying to build a program that utilizes the python-telegram-bot library with Python 3, but I’m running into an error that I find confusing when attempting to execute it. The same problem occurs even with the example codes provided. Could someone clarify the meaning of the error? Below is the specific output of my program:

2016-06-29 06:17:44,260 - telegram.ext.updater - ERROR - unhandled exception

Traceback (most recent call last):

File “/usr/local/lib/python3.4/dist-packages/telegram/ext/updater.py”, line 105, in _thread_wrapper

target(*args, **kwargs)

File “/usr/local/lib/python3.4/dist-packages/telegram/ext/updater.py”, line 216, in _start_polling

self._bootstrap(bootstrap_retries, clean=clean, webhook_url='')

File “/usr/local/lib/python3.4/dist-packages/telegram/ext/updater.py”, line 320, in _bootstrap

self.bot.setWebhook(webhook_url=webhook_url, certificate=cert)

File “/usr/local/lib/python3.4/dist-packages/telegram/bot.py”, line 121, in decorator

result = func(self, *args, **kwargs)

File “/usr/local/lib/python3.4/dist-packages/telegram/bot.py”, line 1263, in setWebhook

result = request.post(url, data, timeout=kwargs.get('timeout'))

File “/usr/local/lib/python3.4/dist-packages/telegram/utils/request.py”, line 174, in post

headers={'Content-Type': 'application/json'})

File “/usr/local/lib/python3/dist-packages/telegram/utils/request.py”, line 100, in _request_wrapper

resp = _get_con_pool().request(*args, **kwargs)

File “/usr/lib/python3/dist-packages/urllib3/request.py”, line 72, in request

**urlopen_kw)

File “/usr/lib/python3/dist-packages/urllib3/request.py”, line 135, in request_encode_body

**urlopen_kw)

TypeError: urlopen() got multiple values for keyword argument ‘body’

Exception in thread updater:

Traceback (most recent call last):

File “/usr/lib/python3.4/threading.py”, line 920, in _bootstrap_inner

self.run()

File “/usr/lib/python3.4/threading.py”, line 868, in run

 self._target(*self._args, **self._kwargs)

File “/usr/local/lib/python3.4/dist-packages/telegram/ext/updater.py”, line 105, in _thread_wrapper

target(*args, **kwargs)

File “/usr/local/lib/python3.4/dist-packages/telegram/ext/updater.py”, line 216, in _start_polling

self._bootstrap(bootstrap_retries, clean=clean, webhook_url='')

File “/usr/local/lib/python3.4/dist-packages/telegram/ext/updater.py”, line 320, in _bootstrap

self.bot.setWebhook(webhook_url=webhook_url, certificate=cert)

File “/usr/local/lib/python3.4/dist-packages/telegram/bot.py”, line 121, in decorator

result = func(self, *args, **kwargs)

File “/usr/local/lib/python3.4/dist-packages/telegram/bot.py”, line 1263, in setWebhook

result = request.post(url, data, timeout=kwargs.get('timeout'))

File “/usr/local/lib/python3.4/dist-packages/telegram/utils/request.py”, line 174, in post

headers={'Content-Type': 'application/json'})

File “/usr/local/lib/python3/dist-packages/telegram/utils/request.py”, line 100, in _request_wrapper

resp = _get_con_pool().request(*args, **kwargs)

File “/usr/lib/python3/dist-packages/urllib3/request.py”, line 72, in request

**urlopen_kw)

File “/usr/lib/python3/dist-packages/urllib3/request.py”, line 135, in request_encode_body

**urlopen_kw)

TypeError: urlopen() got multiple values for keyword argument ‘body’

2016-06-29 06:17:45,248 - telegram.ext.dispatcher - CRITICAL - stopping due to exception in another thread

Seems like you’re using an older version of urllib3 that might be conflicting. Try updating both python-telegram-bot and urllib3 to the latest versions. If that doesn’t fix it, you might want to check any overlapping libraries in your path. That helped me once when I had a similar issue.