Allow global registration of custom versions of python

This commit is contained in:
Lance Edgar 2020-03-22 17:19:10 -05:00
parent 3b3cb8ab82
commit 720010d889

View file

@ -75,13 +75,23 @@ def install_pythonz(c):
c.sudo('/usr/local/src/pythonz/pythonz-install')
def install_python(c, version, verbose=False):
def install_python(c, version, globally=False, verbose=False):
"""
Install a specific version of python, via pythonz.
:param globally: Whether or not this python should be registered globally,
by placing a symlink to it in ``/usr/local/bin``. Note that this
symlink, if installed, will use the "short" version, e.g. if the
``version`` specified is ``'3.5.3'`` then the symlink will be named
``'python3.5'``.
"""
if not exists(c, '/usr/local/pythonz/pythons/CPython-{}'.format(version)):
verbose = '--verbose' if verbose else ''
c.sudo("bash -lc 'pythonz install {} {}'".format(verbose, version))
if globally:
short_version = '.'.join(version.split('.')[:2])
c.sudo('ln -sf /usr/local/pythonz/pythons/CPython-{0}/bin/python{1} /usr/local/bin/python{1}'.format(
version, short_version))
def install_pip(c, use_apt=False, eager=True):