Warning: Parameter 1 to wp_default_scripts() expected to be a reference, value given in /home/crian734/public_html/blog.kolaborativa/wp-includes/plugin.php on line 601

Warning: Parameter 1 to wp_default_styles() expected to be a reference, value given in /home/crian734/public_html/blog.kolaborativa/wp-includes/plugin.php on line 601
Instalando um ambiente virtual com outra versão Python

Instalando um ambiente virtual com outra versão Python

Galera, acabei de resolver um problema que alguém pode vir a passar. Aí um amigo meu (Gustavo Carvalho – PUG-PI) me deu a ideia de compartilhá-la.

Eu uso Arch Linux, e nele vem instalado 2 versões do Python: 2.7 e 3.4.

Estava tentando instalar o Django 1.4, para testar um framework de e-commerce. O problema: Django 1.4, que é a base deste framework de e-commerce, roda sob a versão 2.7 de Python. Mas para poder trabalhar com versões diferentes do Django todo mundo sabe que existe o virtualenv, correto?

Porém, sempre que eu criava uma nova env (ambiente virtual), ia com Python3.4 como interpretador padrão da env. Daí veio a dor de cabeça de como criar uma nova env com a versão 2.7. Depois de algum tempo pesquisando, encontrei um post onde mostrava isso.

Se você rodar “virtualenv –help”, você poderá ver que existe uma opção “-p”, que explica onde você especifica qual interpretador Python deve ser setado como padrão dentro do ambiente criado.

Resumindo, esse foi o comando que me salvou:

Estou usando o virtualenvwrapper, por isso que no começo do comando tem o “mk”.

Agora explicando os parâmetros usados:

  • –no-site-packages
    • Digo que quero o meu ambiente totalmente isolado do sistema, isto é, sem acesso aos pacotes instalados globalmente.
  • –no-setuptools
    • Digo que não quero que o setuptools (ou pip) seja instalado no meu novo ambiente.
  • –python=
    • como já dissemos, especifica o caminho de qual interpretador será usado como padrão no ambiente.

Após a criação, você notará que ao usar “python” no terminal, ele entrará no shell do Python, com a versão especificada. 😀

Complemento: Na minha máquina, mesmo depois de ter feito isso, ao instalar o pip (posso fazer uma artigo depois, sobre como instalar pip, virtualenv e virtualenvwrapper), quando eu fazia o teste para verificar sob qual versão do Python o pip estava (pip –version), ele me retornava:

Ou seja, ainda estava no Python 3.4. Ao listar o que tinha dentro da pasta

percebi um interessante detalhe. Lá havia 2 versões do pip: uma “pip” e outra “pip2.7”. Ou seja, para instalar django 1.4 (que usa Python 2.7), ao invés de rodar um “pip install django==1.4”, eu tinha que especificar a versão pip2.7, ou seja, “pip2.7 install django==1.4”.

E é isso, pessoal. Este é o meu primeiro post. Espero que sirva de ajuda para alguém. Qualquer dúvida comentem, ou deem sugestões. 😀

Referência: http://stackoverflow.com/questions/1534210/use-different-python-version-with-virtualenv

Author Description

Mazulo

Sou apaixonado por aprender, e motivado a passar esse conhecimento à frente. Curioso por natureza, e desconfiado até que me digam os porquês. Acredito que temos o potencial para sermos iguais ou melhores que os nossos ídolos. Basta apenas: querer.

There are 8 comments. Add yours

  1. 15th maio 2014 | Abraão Vasconcelos says: Responder
    Abalou
  2. 13th junho 2014 | Marc Pires says: Responder
    Legal, o virtualenv é realmente uma ferramenta bem útil, assim como o RVM para o Ruby que uso bastante.
    • 14th junho 2014 | Mazulo says: Responder
      Não sabia da opção do RVM para o Ruby. Que bacana! Vou dar uma olhada depois. Obrigado, Marc! :-D
  3. 7th setembro 2014 | Nilton says: Responder
    Cara, show de bola teu artigo! Agora tá devendo um sobre pip, virtualenv e virtualenvwrapper, hein?! Abraços!
  4. 23rd setembro 2014 | Jéssica Calixto says: Responder
    Para quem quer aprender Linguagem Python tem esse curso gratuito do Fernando Masanori -> http://pycursos.com/python-para-zumbis/ :D
    • 23rd setembro 2014 | Mazulo says: Responder
      Um ótimo curso, Jéssica! Eu mesmo conclui na primeira turma, e ainda entrei na segunda pra relembrar de algumas coisas haha. Agora estou fazendo o curso de Django do Gileno do PyCursos. Super recomendo!
  5. 23rd setembro 2014 | Jéssica Calixto says: Responder
    Comecei agora Mazulo, ainda to pegando os paranauê da coisa! Se eu precisar de ajuda vou correr atrás de você :P
    • 24th setembro 2014 | Mazulo says: Responder
      Hahaha muito bem, estou à disposição! Aqui vão algumas formas de me encontrar: Facebook → https://www.facebook.com/PatrickMazulo Twitter → @ericleribertson Gmail/Skype → pmazulo Se rolar alguma dúvida pode mandar, que se eu não souber com certeza sei quem sabe :P

Join the Conversation