Existe um relatório de erros relacionado aqui
O componenteensurepip está ausente / desativado no Ubuntu
A maneira de contornar isso é criar um ambiente virtual sem pip
python3 -m venv myvenv --without-pip
O componente ensurepip não é chamado e um novo ambiente é criado nesse caso.
No entanto, o pip ausente no ambiente virtual pode ser um problema.
Uma solução é instalar o pacote pip3 do sistema e usar o módulo pip do sistema diretamente em seu ambiente virtual.
O ambiente virtual precisa ter acesso a pacotes de site do sistema para poder usar o módulo pip do sistema.
-
instale o pacote python3 pip do sistema
sudo apt-get install python3-pip
-
crie um ambiente virtual sem pip e com acesso a pacotes de site do sistema
python3 -m venv myvenv --without-pip --system-site-packages
Você pode usar o módulo pip do sistema para instalar pacotes python em seu ambiente virtual agora.
Em vez de pip install Django
, você precisa usar explícito
myvenv/bin/python3 -m pip install Django
ou você pode ativar seu ambiente virtual primeiro
source myvenv/bin/activate
python3 -m pip install Django
python3 -m pip --version
pode ser útil para ver qual ambiente python é usado.
Com base na solução encontrada aqui , mas não use o python get-pip.py
proposto no ambiente virtual, porque ele roubará o comando pip
do sistema