Hoje cedo instalei o python3.6 em minha máquina debian. Python3.6 foi disponibilizado na distribuição buster. Quando tento criar um virtualenv com python3.6.
python3.6 -m venv venv
dá o seguinte erro.
O ambiente virtual não foi criado com sucesso porque o assegurepip não está disponível. Em sistemas Debian / Ubuntu, você precisa instalar o pacote
python3-venv
usando o seguinte comando.
apt-get install python3-venv
Você pode precisar usar sudo com esse comando. Depois de instalar o python3-venv
pacote, recrie seu ambiente virtual.
Comando com falha: ['/home/float/test/t/bin/python3.6', '-Im', 'garantirpip', '--upgrade', '--default-pip']
Eu tenho python3-venv (3.5.3-1)
instalado. Por que recebo esse erro? Se eu executar o comando
py3 -Im ensurepip --upgrade --default-pip
diz
/usr/bin/python3.6: No module named ensurepip
Não tenho problemas para criar virtualenvs usando a versão python3 padrão (3.5.3).
Além disso, percebi que posso criar um virtualenv da seguinte maneira:
virtualenv -p python3.6 venv
Oi,
O próprio módulo virtualenv e python3 venv são 2 projetos / coisas totalmente diferentes.
venv está fazendo o mesmo que o virtualenv, mas está diretamente integrado no próprio python3.
virtualenv é basicamente o projeto histórico (e normalmente não deve ser usado com python3 enquanto houver venv).
Com base em sua entrada, eu diria que python3-venv pode ser reinstalado ( sudo apt-get reinstall python-venv
ou algo semelhante) do seu lado. Mas posso estar errado. De qualquer forma, isso se parece com tudo relacionado ao debian, tenho certeza.
Então, você pode encerrar o problema? (Eu não sou mantenedor aqui)
Saudações.
A reinstalação não funcionou. Vou encerrar este problema agora. Vou atualizar se tiver mais informações.
@animeshb , você não tem mais saída após
Failing command: ['/home/float/test/t/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']
?
float<strong i="5">@animesh</strong>:~/test$ python3.6 -m venv venv
Nada depois dessa linha.
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: ['/home/float/test/t/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']
Na pasta venv/bin
, não há comando de ativação.
float<strong i="13">@animesh</strong>:~/test$ ls venv/bin/
python python3 python3.6
Só posso redirecioná-lo para uma das muitas páginas que correspondem a este erro (é um problema conhecido em sistemas debian / ubuntu):
https://bugs.launchpad.net/ubuntu/+source/python3.4/+bug/1290847
que tal sudo apt-get install python3-pip
?
O problema do autor da postagem original é por não ter o pacote 'python3.6-venv' instalado, o que pode ser verificado usando o Docker se você não tiver acesso a um buster Debian:
$ docker run --rm -it debian:buster /bin/bash
$ apt update
...
$ apt install python3.5 python3.6 python3.5-venv
...
$ python3.6 -m venv venv
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: ['/venv/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']
$ rm -rf venv
$ apt install python3.6-venv
...
$ python3.6 -m venv venv
... success
Instale 'python3.6-venv' e deve funcionar.
Uau, não me ocorreu que haveria um pacote -venv específico da versão. Instalar isso resolveu o problema.
@gst e @eukaryote Muito obrigado por dedicar seu tempo a esta questão.
A solução de @eukaryote funcionou para mim. Obrigado por postar isso!
A localidade configurada incorretamente também pode induzir esse problema, pois essa resposta resolve meu problema que produz a mesma mensagem de erro do OP.
Tente executar:
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales
apenas um ponto de dados, mas mexendo em um novo virtualbox ubuntu bionic, descobri que apt install python3.6-venv
ainda me deixou com um python3.6 -m venv
quebrado, mas executando apt install python3-venv
consertou.
Estou no Debian testing / buster e estou tendo o mesmo problema, enquanto python3.6-venv
e python3-venv
estão instalados.
O bug debian para isso está aqui btw: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=901601
Nikolas
Eles escrevem lá que foi reparado na última versão. Então eu fiz
apt purge python3.6-venv
dpkg -i --force-depends-version python3.6-venv_3.6.6 ~ rc1-3_amd64.deb # from snapshot.debian.org
E funciona para mim.
Provavelmente irei precisar de conserto mais tarde: apt --fix-broken install
Só deixando um comentário aqui, para quem chegar depois de mim, pesquisando pelo mesmo problema:
o mesmo se aplica ao 3.7 do python, você deve instalar python3.7-venv
, que é apt-get install python3.7-venv
Apenas para sua informação, a solução acima não funciona de fato para o python 3.7. apt install python3.7 python3.7-venv
em uma imagem docker do stock buster ainda produz um virtualenv quebrado ("o surepip não está disponível"). No entanto, após apt install python3-venv
(que instala desnecessariamente todo o python3.6), você pode criar um python 3.7 venv funcional incluindo um 3.7 pip adequado, com python3.7 -m venv myvenv
. Portanto, o conjunto completo de comandos de trabalho é este:
sudo apt install python3.7 python3-venv python3.7-venv # all three are required
python3.7 -m venv myvenv
. myvenv/bin/activate
(aliás, observe que todas as instalações de python3.7-venv
são um sistema fictício ensurepip
módulo.)
você está falando sobre venv
, que é um projeto diferente. Este rastreador é para virtualenv.
Eu também estava enfrentando o mesmo problema.
[ niraj @ abc ~] $ / python / v3.7.0 / bin / python3 -m venv avd
Erro: O comando '[' / home / niraj / avd / bin / python3 ',' -Im ',' garantirpip ',' --upgrade ',' --default-pip ']' retornou o status de saída 1 diferente de zero.
Depois de adicionar libffi3.3 no meu caminho LD_LIBRARY, ele funciona
setenv LD_LIBRARY_PATH /libffi/v3.3/lib64
Primeiro instalei com sudo apt install python3-venv
e tive o mesmo problema e foi resolvido com: sudo apt install python3.6-venv
@eukaryote ainda não funcionou. Você pode ajudar? Estou no Ubuntu 18.04 LTS
A localidade configurada incorretamente também pode induzir esse problema, pois essa resposta resolve meu problema que produz a mesma mensagem de erro do OP.
Tente executar:
export LC_ALL="en_US.UTF-8" export LC_CTYPE="en_US.UTF-8" sudo dpkg-reconfigure locales
Este trabalho para mim no Ubuntu 16.04.6. THX
A localidade configurada incorretamente também pode induzir esse problema, pois essa resposta resolve meu problema que produz a mesma mensagem de erro do OP.
Tente executar:
export LC_ALL="en_US.UTF-8" export LC_CTYPE="en_US.UTF-8" sudo dpkg-reconfigure locales
obrigada
Uau, instalar a versão específica do venv funcionou para mim. No meu caso, python3.8-venv.
Obrigado @jrperin
Instalar a versão específica funcionou para mim também: python3.8-venv
Se a versão do sistema operacional for 18.04 ou 20.04:
sudo apt remove python3.6
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.6
sudo apt install python3.6-venv
sudo apt install python3.6-dev
Softwares de Suporte Adicionais
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
Comentários muito úteis
O problema do autor da postagem original é por não ter o pacote 'python3.6-venv' instalado, o que pode ser verificado usando o Docker se você não tiver acesso a um buster Debian:
Instale 'python3.6-venv' e deve funcionar.