The problem is in different behaviour between python2 and python3:
$ python2
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 1 <= None
False
$ python3
Python 3.4.3 (default, Jul 28 2015, 18:20:59)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 1 <= None
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unorderable types: int() <= NoneType()
To fix this you can edit xlrd/sheet.py around line 1543:
Change
elif not (10 <= zoom <= 400):
to
elif zoom is None or not (10 <= zoom <= 400):
So behaviour will be like in python2