<!--
Change how pip version is set for virtual environments to support a user set value (ie pip==9.0.3)
-->
Change regex in python_version
and python_release
facts so it matches python release candidate version (e.g. Python 2.7.16rc1, Python 3.7.3rc1).
If you use python::pyvenv
you require the package python-venv
(name differs on OSes). This has been missing.
This test currently fails because of https://github.com/voxpupuli/puppet-python/issues/586
<!--
Thank you for contributing to this project!
-->
<!--
Replace this comment with a description of your pull request.
-->
<!--
Replace this comment with the list of issues or n/a.
Use format:
Fixes #123
Fixes #124
-->
<!--
Thank you for contributing to this project!
-->
<!--
Replace this comment with a description of your pull request.
-->
For Ubuntu 18.04 and Debian 10, ensure distutils is installed.
When testing pyvenv I ran into this problem when using Python 3 and noticed if you install python3-venv
instead of python3.7-venv
it pulls in python3-distutils
but rather than changing the behavior of how to install python*-venv
just pulling in the dependency works.
Failure with/without system packages
```
root@debian10:/# python3.7 -m venv --clear --system-site-packages /opt/globus-cli
The virtual environment was not created successfully because ensurepip is not
available. On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.
apt-get install python3-venv
You may need to use sudo with that command. After installing the python3-venv
package, recreate your virtual environment.
Failing command: ['/opt/globus-cli/bin/python3.7', '-Im', 'ensurepip', '--upgrade', '--default-pip']
root@debian10:/# python3.7 -m venv --clear /opt/globus-cli
The virtual environment was not created successfully because ensurepip is not
available. On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.
apt-get install python3-venv
You may need to use sudo with that command. After installing the python3-venv
package, recreate your virtual environment.
Failing command: ['/opt/globus-cli/bin/python3.7', '-Im', 'ensurepip', '--upgrade', '--default-pip']
```
Solution:
```
root@debian10:/# apt-get install python3.7-distutils
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'python3-distutils' instead of 'python3.7-distutils'
The following packages were automatically installed and are no longer required:
libexpat1-dev libpython-all-dev libpython-dev libpython2-dev libpython2.7 libpython2.7-dev python-all
python2-dev python2.7-dev
Use 'apt autoremove' to remove them.
The following NEW packages will be installed:
python3-distutils
0 upgraded, 1 newly installed, 0 to remove and 14 not upgraded.
Need to get 142 kB of archives.
After this operation, 715 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian buster/main amd64 python3-distutils all 3.7.3-1 [142 kB]
Fetched 142 kB in 0s (333 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package python3-distutils.
(Reading database ... 42675 files and directories currently installed.)
Preparing to unpack .../python3-distutils3.7.3-1all.deb ...
Unpacking python3-distutils (3.7.3-1) ...
Setting up python3-distutils (3.7.3-1) ...
root@debian10:/# python3.7 -m venv --clear --system-site-packages /opt/globus-cli
root@debian10:/#
```
<!--
Thank you for contributing to this project!
-->
<!--
Pypa has updated its url of get-pip.py recently, so we need to update the url accordingly
-->
<!--
Replace this comment with the list of issues or n/a.
Use format:
Fixes #123
Fixes #124
-->