Allow to run setup.py with python 3 without a mercurial checkout...
Allow to run setup.py with python 3 without a mercurial checkout
Some people may want to test mercurial in a python 3 environment through e.g. pip, in which case setup.py doesn't run in a mercurial checkout, so the hack in setup.py to allow python 3 cannot be overcome.
This change allows a manual override with the HGPYTHON3 environment variable.
Additionally, when for some reason the version is unknown (for crazy people like me, who have a git checkout of the mercurial repo), the version variable ends up being an unicode string, which fails the `isinstance(version, bytes)` assertion. So fix that at the same time.
Differential Revision:
https://phab.mercurial-scm.org/D3958