Ubuntu 20.04: virtualenv: pep517 requires toml, but it isn't bundled in venvs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pip |
Fix Released
|
Unknown
|
|||
python-pip (Ubuntu) |
Fix Released
|
Low
|
Unassigned | ||
Focal |
Fix Released
|
Low
|
Unassigned | ||
python-virtualenv (Ubuntu) |
Fix Released
|
Low
|
Unassigned | ||
Focal |
Fix Released
|
Low
|
Unassigned |
Bug Description
[Impact]
* The pep517 module vendored in pip is missing its toml dependency.
* No specific examples of what that breaks, but it seems worth fixing
while we deal with LP: #1912248.
* This upload backports upstream's 20.1 patch, replacing pytoml with
toml, following pep517.
[Test Case]
# apt install python3 virtualenv
# virtualenv --clear-app-data -p python3 foo
# foo/bin/python -m pep517.build
Note:
ModuleNotFoundE
Ideally the virtualenv wouldn't even contain pep517, it would be internal to pip. See LP: #1904945
[Where problems could occur]
* Anybody who was expecting pytoml to be installed in Ubuntu Focal
virtualenvs will have their expectation broken.
They really shouldn't be expecting that, though.
[Original Bug Report]
On a clean 20.04 machine (or container), observe the following:
apt-get update
apt-get install -y python3-virtualenv
python3 -m virtualenv foo && source foo/bin/activate
pip list
You will notice there are a plethora of extra packages in the virtual environment that should not normally be there, resulting in a dirty virtual environment.
The packages listed here are those that are bundled with pip: https:/
To make matters worse, the latest release of pip bundles incompatible versions of libraries. The net result is that `pip install pep517` will show that it is already installed, and but `import pep517` will result in an ImportError.
This problem has been fixed in the Debian Testing/Unstable python-virtualenv package. Could the Ubuntu package backport these fixes?
This is blocking Ansible supporting 20.04 officially, since the dirty virtualenvs are causing our tests to fail. https:/
Changed in python-virtualenv (Ubuntu Focal): | |
status: | Confirmed → Incomplete |
Changed in virtualenv: | |
status: | Unknown → Fix Released |
Changed in python-pip (Ubuntu Groovy): | |
status: | New → Fix Released |
Changed in python-pip (Ubuntu): | |
status: | New → Fix Released |
description: | updated |
description: | updated |
no longer affects: | python-virtualenv (Ubuntu) |
no longer affects: | python-virtualenv (Ubuntu Focal) |
no longer affects: | python-virtualenv (Ubuntu Groovy) |
affects: | virtualenv → pip |
no longer affects: | python-pip (Ubuntu Groovy) |
no longer affects: | python-virtualenv (Ubuntu) |
no longer affects: | python-pip (Ubuntu Focal) |
Changed in python-pip (Ubuntu Focal): | |
status: | New → Fix Committed |
Changed in python-virtualenv (Ubuntu): | |
status: | New → Fix Released |
Changed in python-pip (Ubuntu): | |
importance: | Undecided → Low |
Changed in python-pip (Ubuntu Focal): | |
importance: | Undecided → Low |
Changed in python-virtualenv (Ubuntu): | |
importance: | Undecided → Low |
Changed in python-virtualenv (Ubuntu Focal): | |
importance: | Undecided → Low |
Status changed to 'Confirmed' because the bug affects multiple users.