SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Pythonbrew


       Múltiplas versões do Python
e múltiplos ambientes de desenvolvimento
            na mesma máquina

          Victor Oliveira da Silva
Pythonbrew
●   Permite instalar diferentes versões do Python
    na $HOME do usuário
●   Pythons completamente isolados entre si e do
    sistema
●   Trabalha com o virtualenv, mas com uma
    sintaxe própria (e fácil) de utilização
Instalando Pythonbrew
●   Instalar as seguintes dependências *
    –   sudo apt-get install curl build-essential libbz2-dev libsqlite3-dev
        zlib1g-dev libxml2-dev libxslt1-dev libreadline5 libreadline-gplv2-dev
        libgdbm-dev libxml2 libssl-dev tk-dev libgdbm-dev libexpat1-dev
        libncursesw5-dev
●   Executar os seguintes comandos no terminal
    –   cd ~
    –   curl -kL http://xrl.us/pythonbrewinstall | bash
●   Editar o arquivo ~/.bashrc e adicionar o seguinte trecho no
    final dele:
    –   [[ -s $HOME/.pythonbrew/etc/bashrc ]] && source
        $HOME/.pythonbrew/etc/bashrc


                                                          * Testado no Ubuntu 12.10
Confirmando instalação
●   Feche o terminal e abra uma nova seção dele
●   Navegue para sua pasta $HOME
    –   cd ~
●   Digite o seguinte comando
    –   pythonbrew --version
Versões disponíveis do Python
●   Importante: todos comandos do pythonbrew
    funcionarão apenas quando se estiver na
    pasta $HOME do usuário, então, antes,
    sempre digite
    –   cd ~
●   Para visualizar as versões de Python
    disponíveis, digite
    –   pythonbrew list -k
Instalando um Python
●   Escolha um Python disponível (2.7.3 nesse
    exemplo), e instale-o com o seguinte
    comando
    –   pythonbrew install 2.7.3
Usando Pythons do Pythonbrew
●   Uso temporário (até fechar o terminal)
    –   pythonbrew use 2.7.3
●   Uso permanente
    –   pythonbrew switch 2.7.3
●   Voltar a usar o Python do sistema
    –   pythonbrew off
Instalando outro Python
Listando Pythons instalados
●   Comando
    –   pythonbrew list
Consultar qual o Python ativo
●   Comando
    –   which python
Remover algum Python
●   Comando
    –   pythonbrew uninstall 2.7.3
Preparação para criar ambientes
               virtuais
●   Comando
    –   pythonbrew venv init
Criando ambientes virtuais
●   “Use” a versão desejada do Python e execute
    o comando
    –   pythonbrew venv create meu_ambiente_virtual
Criando ambientes virtuais (2)
●   Dois ambientes com Python 2.7 e outro com 3.3
Listando ambientes virtuais
●   Comando
    –   pythonbrew venv list
Usando ambientes virtuais
   ●   “Entrar” em um ambiente* (antes, deve-se estar “usando” o
       python correspondente ao ambiente em questão):
       –   pythonbrew venv use nome_do_ambiente

   ●   Instalar bibliotecas Python em um ambiente: entre no ambiente
       e instale as bibliotecas normalmente

   ●   “Sair” de um ambiente ativo:
       –   deactivate

   ●   Remover um ambiente
       –   pythonbrew venv delete nome_do_ambiente


* Para entrar em um ambiente, sempre deve-se sair de qualquer outro ambiente que esteja ativo
Instalando Django 1.2 no ambiente 2_7_A
Instalando Django 1.4 no ambiente 2_7_B
Os ambientes são isolados e independentes
Listar pacotes instalados
            em um ambiente virtual
●   “Entre” o ambiente e execute o comando
    –   pip freeze
Salvar lista de pacotes para instalá-
       los em outro ambiente
Instalar pacotes em um ambiente
    a partir da lista gerada anteriormente
●   “Entre” no ambiente alvo e execute:
    –   pip install -r requirements.txt
Referências
●   http://pypi.python.org/pypi/pythonbrew/
●   http://suvashthapaliya.com/blog/2012/01/sandboxed-
    python-virtual-environments/
●   https://github.com/utahta/pythonbrew/issues/81

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + docker
 
Git that like a boss - Dos comandos básicos aos branches.
Git that like a boss - Dos comandos básicos aos branches.Git that like a boss - Dos comandos básicos aos branches.
Git that like a boss - Dos comandos básicos aos branches.
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
 
Git
GitGit
Git
 
Git - GitHub
Git - GitHubGit - GitHub
Git - GitHub
 
Introdução ao Git - Semac 2016
Introdução ao Git - Semac 2016Introdução ao Git - Semac 2016
Introdução ao Git - Semac 2016
 
Git e Github
Git e GithubGit e Github
Git e Github
 
O esquecido do PHP
O esquecido do PHPO esquecido do PHP
O esquecido do PHP
 
Compilando o Android 5 para o Nexus 5
Compilando o Android 5 para o Nexus 5Compilando o Android 5 para o Nexus 5
Compilando o Android 5 para o Nexus 5
 
Docker volumes
Docker volumesDocker volumes
Docker volumes
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDev
 
Lab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvLab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenv
 
Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básico
 
Git & Delphi
Git & DelphiGit & Delphi
Git & Delphi
 
Git Básico
Git BásicoGit Básico
Git Básico
 
Definição de processos
Definição de processosDefinição de processos
Definição de processos
 
Coroutine e concorrência python
Coroutine e concorrência   python Coroutine e concorrência   python
Coroutine e concorrência python
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o Docker
 
Atech talks - Docker
Atech talks - DockerAtech talks - Docker
Atech talks - Docker
 

Destaque

Cartilha cumpra se a lei
Cartilha cumpra se  a  leiCartilha cumpra se  a  lei
Cartilha cumpra se a leiG. Gomes
 
Pitch ph gros eng - 2014-01
Pitch ph gros   eng - 2014-01Pitch ph gros   eng - 2014-01
Pitch ph gros eng - 2014-01Philippe GROS
 
Raomen2002 veur Braboos
Raomen2002   veur BraboosRaomen2002   veur Braboos
Raomen2002 veur BraboosMarc Heinen
 
Placas la vem a noiva - Lotus atelie
Placas la vem a noiva - Lotus ateliePlacas la vem a noiva - Lotus atelie
Placas la vem a noiva - Lotus atelieLotus Ateliê
 
Les formes que podem trobar en un parc
Les formes que podem trobar en un parcLes formes que podem trobar en un parc
Les formes que podem trobar en un parcwuiwui12345678
 
Top Ten - Cármen Costa (1)
Top Ten - Cármen Costa (1)Top Ten - Cármen Costa (1)
Top Ten - Cármen Costa (1)AEC-Inglês
 

Destaque (9)

Cartilha cumpra se a lei
Cartilha cumpra se  a  leiCartilha cumpra se  a  lei
Cartilha cumpra se a lei
 
Anna kostenko
Anna kostenkoAnna kostenko
Anna kostenko
 
Vrushali Spicy Stills
Vrushali Spicy StillsVrushali Spicy Stills
Vrushali Spicy Stills
 
Pitch ph gros eng - 2014-01
Pitch ph gros   eng - 2014-01Pitch ph gros   eng - 2014-01
Pitch ph gros eng - 2014-01
 
Raomen2002 veur Braboos
Raomen2002   veur BraboosRaomen2002   veur Braboos
Raomen2002 veur Braboos
 
Placas la vem a noiva - Lotus atelie
Placas la vem a noiva - Lotus ateliePlacas la vem a noiva - Lotus atelie
Placas la vem a noiva - Lotus atelie
 
Pembagian Kalam Insya'
Pembagian Kalam Insya'Pembagian Kalam Insya'
Pembagian Kalam Insya'
 
Les formes que podem trobar en un parc
Les formes que podem trobar en un parcLes formes que podem trobar en un parc
Les formes que podem trobar en un parc
 
Top Ten - Cármen Costa (1)
Top Ten - Cármen Costa (1)Top Ten - Cármen Costa (1)
Top Ten - Cármen Costa (1)
 

Semelhante a Pythonbrew: múltiplas versões do Python na mesma máquina

Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoMario Chaves
 
Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04Renan Aryel
 
Opennebula instalação
Opennebula instalaçãoOpennebula instalação
Opennebula instalaçãoLuís Eduardo
 
Capítulo 16 rsyslog
Capítulo 16   rsyslogCapítulo 16   rsyslog
Capítulo 16 rsyslogPaulo Kutwak
 
Introdução ao PHPActiveRecord
Introdução ao PHPActiveRecordIntrodução ao PHPActiveRecord
Introdução ao PHPActiveRecordJhonatta Santos
 
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...Danilo Ricardo
 
Introdução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaIntrodução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaÁlvaro Justen
 
01 -Aula IPE - Apresentando o Python.pdf
01 -Aula IPE - Apresentando o Python.pdf01 -Aula IPE - Apresentando o Python.pdf
01 -Aula IPE - Apresentando o Python.pdfGustavomacieldesouza2
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversionlekitamura
 
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDeviceHackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDeviceRicardo Rufino
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerRafael Gomes
 
Administração de sistemas usando Python
Administração de sistemas usando PythonAdministração de sistemas usando Python
Administração de sistemas usando PythonHelio Loureiro
 
Tutorial poke-tool
Tutorial poke-toolTutorial poke-tool
Tutorial poke-toolunifesptk
 
Como migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxComo migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxMarcelo Sabadini
 
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga Neves
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga NevesDesenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga Neves
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga NevesTchelinux
 

Semelhante a Pythonbrew: múltiplas versões do Python na mesma máquina (20)

Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em django
 
Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04
 
Opennebula instalação
Opennebula instalaçãoOpennebula instalação
Opennebula instalação
 
Capítulo 16 rsyslog
Capítulo 16   rsyslogCapítulo 16   rsyslog
Capítulo 16 rsyslog
 
Consegi 2011: Puppet
Consegi 2011: PuppetConsegi 2011: Puppet
Consegi 2011: Puppet
 
Virtualenv e Pip
Virtualenv e PipVirtualenv e Pip
Virtualenv e Pip
 
Introdução ao PHPActiveRecord
Introdução ao PHPActiveRecordIntrodução ao PHPActiveRecord
Introdução ao PHPActiveRecord
 
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
 
Introdução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaIntrodução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtiva
 
01 -Aula IPE - Apresentando o Python.pdf
01 -Aula IPE - Apresentando o Python.pdf01 -Aula IPE - Apresentando o Python.pdf
01 -Aula IPE - Apresentando o Python.pdf
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversion
 
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDeviceHackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
 
Instalar Ocomon Ubuntu 2
Instalar Ocomon Ubuntu 2Instalar Ocomon Ubuntu 2
Instalar Ocomon Ubuntu 2
 
Administração de sistemas usando Python
Administração de sistemas usando PythonAdministração de sistemas usando Python
Administração de sistemas usando Python
 
Iniciando com django
Iniciando com djangoIniciando com django
Iniciando com django
 
Tutorial poke-tool
Tutorial poke-toolTutorial poke-tool
Tutorial poke-tool
 
Como migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxComo migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para Linux
 
01 notações iniciais
01   notações iniciais01   notações iniciais
01 notações iniciais
 
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga Neves
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga NevesDesenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga Neves
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga Neves
 

Pythonbrew: múltiplas versões do Python na mesma máquina

  • 1. Pythonbrew Múltiplas versões do Python e múltiplos ambientes de desenvolvimento na mesma máquina Victor Oliveira da Silva
  • 2. Pythonbrew ● Permite instalar diferentes versões do Python na $HOME do usuário ● Pythons completamente isolados entre si e do sistema ● Trabalha com o virtualenv, mas com uma sintaxe própria (e fácil) de utilização
  • 3. Instalando Pythonbrew ● Instalar as seguintes dependências * – sudo apt-get install curl build-essential libbz2-dev libsqlite3-dev zlib1g-dev libxml2-dev libxslt1-dev libreadline5 libreadline-gplv2-dev libgdbm-dev libxml2 libssl-dev tk-dev libgdbm-dev libexpat1-dev libncursesw5-dev ● Executar os seguintes comandos no terminal – cd ~ – curl -kL http://xrl.us/pythonbrewinstall | bash ● Editar o arquivo ~/.bashrc e adicionar o seguinte trecho no final dele: – [[ -s $HOME/.pythonbrew/etc/bashrc ]] && source $HOME/.pythonbrew/etc/bashrc * Testado no Ubuntu 12.10
  • 4. Confirmando instalação ● Feche o terminal e abra uma nova seção dele ● Navegue para sua pasta $HOME – cd ~ ● Digite o seguinte comando – pythonbrew --version
  • 5. Versões disponíveis do Python ● Importante: todos comandos do pythonbrew funcionarão apenas quando se estiver na pasta $HOME do usuário, então, antes, sempre digite – cd ~ ● Para visualizar as versões de Python disponíveis, digite – pythonbrew list -k
  • 6. Instalando um Python ● Escolha um Python disponível (2.7.3 nesse exemplo), e instale-o com o seguinte comando – pythonbrew install 2.7.3
  • 7. Usando Pythons do Pythonbrew ● Uso temporário (até fechar o terminal) – pythonbrew use 2.7.3 ● Uso permanente – pythonbrew switch 2.7.3 ● Voltar a usar o Python do sistema – pythonbrew off
  • 8.
  • 10. Listando Pythons instalados ● Comando – pythonbrew list
  • 11. Consultar qual o Python ativo ● Comando – which python
  • 12. Remover algum Python ● Comando – pythonbrew uninstall 2.7.3
  • 13. Preparação para criar ambientes virtuais ● Comando – pythonbrew venv init
  • 14. Criando ambientes virtuais ● “Use” a versão desejada do Python e execute o comando – pythonbrew venv create meu_ambiente_virtual
  • 15. Criando ambientes virtuais (2) ● Dois ambientes com Python 2.7 e outro com 3.3
  • 16. Listando ambientes virtuais ● Comando – pythonbrew venv list
  • 17. Usando ambientes virtuais ● “Entrar” em um ambiente* (antes, deve-se estar “usando” o python correspondente ao ambiente em questão): – pythonbrew venv use nome_do_ambiente ● Instalar bibliotecas Python em um ambiente: entre no ambiente e instale as bibliotecas normalmente ● “Sair” de um ambiente ativo: – deactivate ● Remover um ambiente – pythonbrew venv delete nome_do_ambiente * Para entrar em um ambiente, sempre deve-se sair de qualquer outro ambiente que esteja ativo
  • 18. Instalando Django 1.2 no ambiente 2_7_A
  • 19. Instalando Django 1.4 no ambiente 2_7_B
  • 20. Os ambientes são isolados e independentes
  • 21. Listar pacotes instalados em um ambiente virtual ● “Entre” o ambiente e execute o comando – pip freeze
  • 22. Salvar lista de pacotes para instalá- los em outro ambiente
  • 23. Instalar pacotes em um ambiente a partir da lista gerada anteriormente ● “Entre” no ambiente alvo e execute: – pip install -r requirements.txt
  • 24. Referências ● http://pypi.python.org/pypi/pythonbrew/ ● http://suvashthapaliya.com/blog/2012/01/sandboxed- python-virtual-environments/ ● https://github.com/utahta/pythonbrew/issues/81