All good, except for the git package bootstrap. Unlike 'apt-get install git', 'pip install GitPython' will not pull in the git(1) command line tool. It will also fail in environments without egress to pypi.
Humph. And python3-git doesn't exist yet (I just filed a bug to get the package built in Xenial).
So unless we want to say screw it and use command line git rather than a Python wrapper, the same as we are doing with bzr, then the best I can come up with is:
if six.PY2:
apt_install(['python-git'])
try:
import git
except ImportError:
raise NotImplemetedError()
else:
raise NotImplementedError()
ie. keep auto-install of the python-git package for Python2, and make it the charmers problem if they are using Python3. This is still an improvement, since at the moment Python3 charms do not have access to this API at all.
This can land if you revert the Python2 behaviour to the apt install, so giving it my conditional approval.
All good, except for the git package bootstrap. Unlike 'apt-get install git', 'pip install GitPython' will not pull in the git(1) command line tool. It will also fail in environments without egress to pypi.
Humph. And python3-git doesn't exist yet (I just filed a bug to get the package built in Xenial).
So unless we want to say screw it and use command line git rather than a Python wrapper, the same as we are doing with bzr, then the best I can come up with is: install( ['python- git']) ror() rror()
if six.PY2:
apt_
try:
import git
except ImportError:
raise NotImplemetedEr
else:
raise NotImplementedE
ie. keep auto-install of the python-git package for Python2, and make it the charmers problem if they are using Python3. This is still an improvement, since at the moment Python3 charms do not have access to this API at all.
This can land if you revert the Python2 behaviour to the apt install, so giving it my conditional approval.