opensanca / trilha-python

Curso "introdutório" à linguagem Python
MIT License
49 stars 25 forks source link

Erro ao criar o Virtualenv no Linux Mint: "E: Unable to locate package python3-venv" #4

Closed rcripto closed 8 years ago

rcripto commented 8 years ago

Pessoal, fiz uma máquina virtual com o Mint. A instalação do python deu certo, mas quando fui criar o ambiente do virtual env recebi essa mensagem: E: Unable to locate package python3-venv

Executei esse comando no terminal: sudo apt-get install python3-venv

Detalhe, sou totalmente newbie em Linux, hehe.

lamenezes commented 8 years ago

Qual versão do Python 3 você está usando? Para verificar rode o comando: python3 --version

No Python3.5 já era para vir com o virtualenv e não era para ser necessário instalar o python3-venv pelo apt-get.

EDIT com correção do erro é preciso instalar o python3.5-venv para criar o virtualenv do python3.5. Isso é feito assim:

$ sudo apt-get install python3.5-venv
$ python3.5 -m venv env

Em alguns casos estranhos, como aconteceu com @marcelomiky, o comando python3.5 -m venv env não funciona e é ncessário rodar:

$ virtualenv -p python3.5 <nome_do_env>
rcripto commented 8 years ago

Luiz, é a 3.4.3

Estranho que mandei instalar a 3.5.

lamenezes commented 8 years ago

O que acontece é que o pythoon3 aponta para o python 3.4, para usar o python 3.5 é necessário explicitar: python3.5 -m venv env

Você pode verificar se esse comando funciona e cria o virtualenv?

rcripto commented 8 years ago

Executei e deu esse erro:

Error: Command '['/home/rodrigo/env/bin/python3.5', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1

lamenezes commented 8 years ago

Parece que o Mint empacota o python sem o virtualenv (que deveria vir por padrão) e é necessário instalá-lo por fora, tente instalar: sudo apt-get install python3.5-venv

Esse comando pode falhar, pois não sei se esse pacote está disponível. Qual versão do linux mint você usa?

marcelomiky commented 8 years ago

Olá, pessoal. Também estou com problemas com o Virtualenv. Curiosamente, ontem rodou, mas hoje deu o mesmo erro que o descrito acima (Error: Command...). Parece que está com conflito de versões, a pré-instalada 2.7 e a 3.5.1 que instalei. O que posso fazer?

Estou com o Linux Mint 17.3 Rosa.

lamenezes commented 8 years ago

@marcelomiky vc tentou instalar o python3.5-venv? o comando é sudo apt-get install python3.5-venv tente rodar também pip install --upgrade pip

marcelomiky commented 8 years ago

@lamenezes sim, já está instalado:

Reading package lists... Done Building dependency tree
Reading state information... Done python3.5-venv is already the newest version. The following package was automatically installed and is no longer required: libzmq1 Use 'apt-get autoremove' to remove it. 0 upgraded, 0 newly installed, 0 to remove and 284 not upgraded.

lamenezes commented 8 years ago

Hmmm... acho que o mint não permite (de forma fácil) usar o comando desse jeito. Você consegue criar um env com algum dos seguintes comandos?

$ python3.5-venv env
$ virtualenv env
marcelomiky commented 8 years ago

Deu erro também.

Para o primeiro: python3.5-venv: command not found

Para o segundo: New python executable in /home/miky/Documents/TrilhaPython/Aula1/env/bin/python ERROR: The executable /home/miky/Documents/TrilhaPython/Aula1/env/bin/python is not functioning ERROR: It thinks sys.prefix is u'/usr' (should be u'/home/miky/Documents/TrilhaPython/Aula1/env') ERROR: virtualenv is not compatible with this system or executable

lamenezes commented 8 years ago

@marcelomiky acho que sei qual pode ser o problema. Tenta criar o virtualenv assim:

virtualenv -p python3.5 env

Desse modo ele usa o Python 3.5 e não o Python 2.7 que é o padrão do sistema.

marcelomiky commented 8 years ago

Outros erros, relacionados com o Anaconda (instalei ontem pra tentar instalar o jupyter):

Running virtualenv with interpreter /home/miky/anaconda3/bin/python3.5 New python executable in /home/miky/Documents/TrilhaPython/Aula1/env/bin/python3.5 Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 2316, in main() File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 708, in main symlink=options.symlink) File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 921, in create_environment site_packages=site_packages, clear=clear, symlink=symlink)) File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 1214, in install_python shutil.copyfile(executable, py_executable) File "/usr/lib/python2.7/shutil.py", line 69, in copyfile raise Error("%s and %s are the same file" % (src, dst)) shutil.Error: /home/miky/anaconda3/bin/python3.5 and /home/miky/Documents/TrilhaPython/Aula1/env/bin/python3.5 are the same file

rcripto commented 8 years ago

Estou usando a mesma versão do Marcelo: Linux Mint 17.3 Rosa.

Luiz, deu certo!

Rodei primeiro a linha de comando que você passou: sudo apt-get install python3.5-venv e instalou corretamente.

Depois rodei o outro comando que você passou e funcionou: python3.5 -m venv env

rcripto commented 8 years ago

Muito obrigado pela ajuda Luiz!

marcelomiky commented 8 years ago

Complementando...

Ao inserir sudo apt-get install python3.5-venv

apareceu:

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

Treta?

lamenezes commented 8 years ago

@marcelomiky vc está com uma distro anaconda ou mint?

marcelomiky commented 8 years ago

Mint. Não sabia que anaconda era uma distro...procurei formas pra instalar o jupyter e deu nisso. Sou novato total.

lamenezes commented 8 years ago

ah, blz. Esse último erro que você mostrou acontece pq algum outro processo está usando o repositório de pacotes do Mint. Seu PC está atualizando? Você está instalando alguma outra coisa? No pior caso reinicia e tenta de novo :stuck_out_tongue:

marcelomiky commented 8 years ago

@lamenezes estava sim, vou tentar reiniciar. Muito obrigado!

lamenezes commented 8 years ago

Reinicia e tenta rodar:

$ sudo apt-get install python3.5-venv
$ python3.5 -m venv env

Qualquer coisa me avise.

marcelomiky commented 8 years ago

Será que a Anaconda está atrapalhando? O que aconteceu:

$ sudo apt-get install python3.5 sudo: unable to resolve host mikyLinuxMintGoGo! [sudo] password for miky: Reading package lists... Done Building dependency tree
Reading state information... Done python3.5 is already the newest version. The following package was automatically installed and is no longer required: libzmq1 Use 'apt-get autoremove' to remove it. 0 upgraded, 0 newly installed, 0 to remove and 10 not upgraded.

$ python3.5 -m venv env /home/miky/anaconda3/bin/python3.5: No module named venv

marcelomiky commented 8 years ago

Massss....

Fiz isso e deu certo:

$ virtualenv venv --distribute New python executable in /home/miky/Documents/TrilhaPython/Aula1/venv/bin/python Installing setuptools, pip, wheel...done.

$ source venv/bin/activate (venv)

É isso?

lamenezes commented 8 years ago

Vc instalou o python3.5-venv? Nesse env que vc criou qual a versão do python? Rode python --version

marcelomiky commented 8 years ago

Instalei tanta coisa, pode ser que sim, pode ser que não, rs.

Ao rodar apareceu: Python 2.7.6.

lamenezes commented 8 years ago

Então tenta rodar esses comandos (copia e cola):

sudo apt-get install python3.5-venv
python3.5 -m venv env

se não funcionar o de cima, tente:

virtualenv -p python3.5 env
marcelomiky commented 8 years ago

Cara, será que tem como eu começar do zero, desinstalar e tal? Ontem fiquei um tempão procurando por aí, instalando e tal. Olha só o que apareceu com estes comandos:

$ sudo apt-get install python3.5-venv

sudo: unable to resolve host mikyLinuxMintGoGo! Reading package lists... Done Building dependency tree
Reading state information... Done python3.5-venv is already the newest version. The following package was automatically installed and is no longer required: libzmq1 Use 'apt-get autoremove' to remove it. 0 upgraded, 0 newly installed, 0 to remove and 10 not upgraded.

$ python3.5 -m venv env

/home/miky/anaconda3/bin/python3.5: No module named venv

$ virtualenv -p python3.5 env

Running virtualenv with interpreter /home/miky/anaconda3/bin/python3.5 New python executable in /home/miky/Documents/TrilhaPython/Aula1/env/bin/python3.5 Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 2316, in main() File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 708, in main symlink=options.symlink) File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 921, in create_environment site_packages=site_packages, clear=clear, symlink=symlink)) File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 1214, in install_python shutil.copyfile(executable, py_executable) File "/usr/lib/python2.7/shutil.py", line 69, in copyfile raise Error("%s and %s are the same file" % (src, dst)) shutil.Error: /home/miky/anaconda3/bin/python3.5 and /home/miky/Documents/TrilhaPython/Aula1/env/bin/python3.5 are the same file

lamenezes commented 8 years ago

Parece quepython3.5-venv não vai rolar mesmo pra vc, apesar de ter funcionado para o rcripto que abriu esta issue.

Então vamos tentar usar o comando virtualenv mesmo... esse erro pode estar acontencendo pq vc está tentando instalar um virtualenv em cima de um já existente. Tente criar outro com outro nome:

virtualenv -p python3.5 outro_env
marcelomiky commented 8 years ago

Parece melhor:

$ virtualenv -p python3.5 outro_env

Running virtualenv with interpreter /home/miky/anaconda3/bin/python3.5 New python executable in /home/miky/Documents/TrilhaPython/Aula1/outro_env/bin/python3.5 Also creating executable in /home/miky/Documents/TrilhaPython/Aula1/outro_env/bin/python Installing setuptools, pip, wheel...done.

lamenezes commented 8 years ago

Funcionou! Para fechar:

Na sua máquina, @marcelomiky, por algum motivo X não funciona o comando python3.5 -m venv env mesmo instalando o pacote python3.5-venv.

Para fazer funcionar e criar um ambiente virtual com o Python 3.5 é preciso usar o comando:

$ virtualenv -p python3.5 <nome_do_env>

Se tiver mais algum problema abre uma issue diferente :+1: