FAQ Troubleshooting Python "Timeout value connect must be an int or float" error

Last updated 16 March 2017

While using our python client some customers encounter the following error message:

AlgoliaException: Unreachable hosts:
'{APPLICATION-ID}-3.algolianet.com':
    'ValueError: Timeout value connect was (5, 50), but it must be an int or float.',
'{APPLICATION-ID}-1.algolianet.com':
    'ValueError: Timeout value connect was (1, 30), but it must be an int or float.',
'{APPLICATION-ID}-2.algolianet.com':
    'ValueError: Timeout value connect was (3, 40), but it must be an int or float.',
'{APPLICATION-ID}.algolia.net':
    'ValueError: Timeout value connect was (1, 30), but it must be an int or float.'

``` This is due to an incompatible version of the `requests` python library. The minimum version needed for our client is the `2.9.1`, anything below is not expected to work.
 To ensure the version of the requests package is the one you think:

python -c ‘import requests; print(requests.version)’

``` This version number may not be the one you expect: this is due to this library being able to be installed both by the python package manager (pip) and the system package manager (dpkg, pacman, apt, yum, portage…). The system package manager may ship an old version of the library and depending on the setup, this one may take precedence over the one installed by pip.

To solve this issue, you can use python virtual environments to isolate your installed libraries from the system’s.

Did you find this page helpful?

We're always looking for advice to help improve our documentation! Please let us know what's working (or what's not!) - we're constantly iterating thanks to the feedback we receive.

Send us your suggestions!