The version.txt approach broke xlrd for people using freezer tools to bundle it into applications. This PR uses an info.py file to store the version number instead.
From discussion on the mailing list, although this needs a bit of a hack in setup.py, it should work for everyone.
Import version number from a .py file rather than reading a .txt file.
Have you tested this patch with the problematic freeze tools?
I'd rather not go round this particular circle again...
I'm pretty confident it should avoid the problem, but I'll test later today.
I replicated the problem in master using cx_Freeze, and confirmed that it works properly using this branch.
Add info.py to MANIFEST for sdists
And it needed to be in MANIFEST as well, for sdists to include it. Just fixed that.