python3 -m venv installs pip to incorrect path VENV_ROOT/local/bin/pip
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
python3.10 (Debian) |
Fix Released
|
Unknown
|
|||
python3.10 (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
python3 -m venv worked correctly in Ubuntu 21.10:
# apt update; apt install python3.10-venv
# python3.10 -m venv /tmp/my-venv
# . /tmp/my-
# type pip
pip is /tmp/my-
# pip --version
pip 20.3.4 from /tmp/my-
But in Ubuntu 22.04, it installs pip to the wrong path:
# apt update; apt install python3.10-venv
# python3.10 -m venv /tmp/my-venv
# . /tmp/my-
# type pip
bash: type: pip: not found
# pip --version
bash: pip: command not found
# echo $PATH
/tmp/my-
# ls /tmp/my-venv/bin
Activate.ps1 activate.csh python python3.10
activate activate.fish python3
# ls /tmp/my-
pip pip3 pip3.10
tags: | added: jammy testcase |
Changed in python3.10 (Debian): | |
status: | Unknown → New |
Changed in python3.10 (Ubuntu): | |
importance: | Undecided → High |
tags: | added: rls-jj-incoming |
Changed in python3.10 (Debian): | |
status: | New → Fix Released |
Trying virtualenv instead of venv, it installs pip to the right path, but if you use it to install other packages before activating the virtualenv, their binaries end up in the wrong path. Ubuntu 21.10:
# apt update; apt install python3-virtualenv virtualenv/ bin/pip install black virtualenv/ bin/activate virtualenv/ bin/black
# virtualenv /tmp/my-virtualenv
# /tmp/my-
# . /tmp/my-
# type black
black is /tmp/my-
# black --version
black, 22.1.0 (compiled: yes)
Ubuntu 22.04:
# apt update; apt install python3-virtualenv virtualenv/ bin/pip install black virtualenv/ bin/activate virtualenv/ local/bin
# virtualenv /tmp/my-virtualenv
# /tmp/my-
# . /tmp/my-
# type black
bash: type: black: not found
# black --version
bash: black: command not found
# ls /tmp/my-
black black-primer blackd