Update some development dependencies for Python 3.

Review Request #10945 — Created March 10, 2020 and submitted


Review Board


Now that Mercurial supports Python 3, we no longer have to use a
dependency specifier to limit installs to Python 2.7. We can instead
just simply install. We're keeping the original minimum version for now
(making it easier to test with Mercurial 4.x), but this will always get
the 5.x release on Python 3.x since there won't be an existing 4.x
release installed.

This change also works around the lack of pre-compiled Python 3.8
p4python builds on non-Linux platforms. If a pre-compiled build is not
available, then pip will try to install the p4python source tarball,
which cannot work by default on non-Linux platforms due to a reliance on
manual configuration of the OpenSSL location. Until they either improve
upon this or provide 3.8 builds, we'll need to skip installation on this
version of Python.

The Perforce unit tests received updates to run without having P4
installed. We had some old code that attempted to do this, but it was
archaic and no longer worked.

And finally, subvertpy 0.10.1 (the latest release, which is now 2.5
years old) fails when imported on Python 3.8. There's no indicator as to
when a new release may be, and it's pretty broken on 3.8, so we no
longer attempt to install it there.

Tested installing on Python 2.7 and 3.5-3.8.

Verified that Mercurial 5.3 (latest series) was installed on all
Python 3.x environments.

Verified that p4python was installed on all Python environments aside
from 3.8.

Verified that subvertpy was not installed on Python 3.8.

All unit tests pass on Python 3.8.

  1. Ship It!
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to release-4.0.x (a32b331)