http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Python +
Virtualenv
Parte 2 do nosso LAB
Lab vagrant +
Virtualenv
GIT + Python
+ Django +
Pycharm
2
Este Lab foi produzido para ser um estudo prático introdutório para as tecnologias envolvidas com
desenvolvimento Python/Django. Sendo assim não tem intenção de ser um curso ou fonte de referências.
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Porque Python?
Python é uma linguagem de propósito geral de alto nível, multiparadigma, suporta
o paradigma orientado a objetos, imperativo, funcional e procedural. Conta com
um modelo comunitário de desenvolvimento, que é aberto e sem fins lucrativos.
Por ser uma linguagem de alto nível, o Python não requer conhecimentos de
outras linguagens para que se possa trabalhar com ele. A lógica da programação
pode ser aplicada diretamente ao código, o que faz com que seu aprendizado seja
simples e rápido. Python tem uma biblioteca padrão imensa, que contém classes,
métodos e funções para realizar essencialmente qualquer tarefa, desde acesso a
bancos de dados a interfaces gráficas com o usuário.
Adaptado de https://pt.wikipedia.org/wiki/Python
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Como instalar o Python?
A versão mais atual do Python é a 3.7.4.
No windows:
Faça o download e instale https://www.python.org/downloads/windows/
Python 3.7 https://www.python.org/ftp/python/3.7.4/python-3.7.4-amd64.exe
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Python 3 no Windows
Deixe marcadas as 2 opções “Install launcher for all users” e “Add Python 3.7 to PATH”
Escolha a opção Personalizada => “Customize installation”
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Python 3 no Windows
Deixe marcadas todas as opções.
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Python 3 no Windows
Deixe marcadas as opções “Install for all users” e as 4 opções seguintes.
Escolha uma pasta personalizada => “C:Python37”
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Trabalhando com diversas versões
Virtualenv é uma ferramenta simples e poderosa que permite criar ambientes
isolados de desenvolvimento Python, ou seja, torna possível a utilização de
diversas bibliotecas em um mesmo ambiente sem que haja conflitos entre elas.
Ao ativar o ambiente virtual “isolado”, os comandos de instalação e execução
somente afetarão o ambiente virtual ativado.
Para instalar o virtualenv no windows:
Abra o Prompt de comando e digite:
pip install virtualenv
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Criando ambiente virtual - Virtualenv
No windows:
Abra o Prompt de comando na pasta de projetos Python
(C:Usersggti14PycharmProjects) e digite:
virtualenv venv37 -p C:Python37python.exe
Será criado um ambiente virtual “isolado” configurado inicialmente com Python 3.
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Ativando ambiente virtual - Virtualenv
No windows:
Abra o Prompt de comando na pasta de projetos Python
(C:Usersggti14PycharmProjects) e digite:
.venv37Scriptsactivate.bat
Será ativado o ambiente virtual e também é apresentado o prompt:
(venv37) C:Usersggti14PycharmProjects>
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Desativando ambiente virtual
No windows:
Abra o Prompt de comando na pasta de projetos Python
(C:Usersggti14PycharmProjects) e digite:
.venv37Scriptsdeactivate.bat
Será desativado o ambiente virtual e também será atualizado o prompt:
C:Usersggti14PycharmProjects>
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Python e Virtualenv em uma vm
Muitas vezes encontramos dificuldades de instalar ou utilizar o Python no windows
porque já possuímos outros softwares e, mesmo usando o Virtualenv, se torna mais
difícil administrar estes ambientes virtuais diferentes.
Vamos observar que o uso de uma vm (Virtual+vagrant) permite que sejam
instaladas diferentes versões de Python junto com outras bibliotecas sem ter todas
essas restrições que o ambiente Windows apresenta.
Por fim, a escolha do uso do ambiente Python/Django em uma vm (linux) seja
importante para que se tenha um ambiente equivalente do de produção(linux).
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Python e Virtualenv em uma vm
Preparação para instalação na vm
(necessário ter realizado a Parte 1 do LAB):
Com a vm desligada (vagrant halt), edite o arquivo Vagrantfile existente na pasta
C:vagrant_vms
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Python e Virtualenv em uma vm
Devemos manter comentada a linha onde estiver (quase no fim do arquivo):
# SHELL
E acrescentar o trecho logo abaixo dessa linha:
config.vm.provision "shell", inline: <<-SHELL
sudo apt-get update
#Instalar os pacotes básicos
sudo apt-get -y install vim openssh-server git build-essential python-dev python-setuptools libldap2-dev libsasl2-dev
libpq-dev libjpeg-dev libfreetype6-dev zlib1g-dev libssl-dev
#Instalar e configurar virtualenv dev-suap
sudo apt-get -y install python-virtualenv
sudo apt -y install python-pip
mkdir virtualenvs
cd virtualenvs
virtualenv --system-site-packages dev-suap
source dev-suap/bin/activate
pip install django==1.11.10
sudo pip install psycopg2-binary
SHELL
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Python e Virtualenv em uma vm
Para iniciar a vm (box) com as modificações feitas no arquivo Vagrantfile, execute no Prompt de Comando na pasta
c:vagrant_vms:
vagrant up --provider virtualbox
E após a vm estiver ligada execute:
vagrant provision
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Python e Virtualenv em uma vm
O trecho acrescentado já realiza a atualização e instalação de todas as bibliotecas
básicas que iremos precisar. Além disso já cria um ambiente virtual (virtualenv):
config.vm.provision "shell", inline: <<-SHELL
sudo apt-get update
#Instalar os pacotes básicos
sudo apt-get -y install vim openssh-server git build-essential python-dev python-setuptools libldap2-dev
libsasl2-dev libpq-dev libjpeg-dev libfreetype6-dev zlib1g-dev libssl-dev
#Instalar e configurar virtualenv dev-suap
sudo apt-get -y install python-virtualenv
sudo apt -y install python-pip
mkdir virtualenvs
cd virtualenvs
virtualenv --system-site-packages dev-suap
source dev-suap/bin/activate
pip install django==1.11.10
sudo pip install psycopg2-binary
SHELL
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Provision vm - Passo a Passo
Vou explicar como cada linha de comando funciona no provision.
A distribuição do linux instalada é Ubuntu Server e o comando abaixo atualiza todo o
catálogo de pacotes disponíveis para que possamos instalar algo mais recente.
sudo apt-get update
Sempre estaremos atualizando nosso ambiente. O comando abaixo verifica se há
atualizações necessárias e apresenta para atualização. Caso confirme, as
atualizações serão baixadas (download) e instaladas:
sudo apt-get upgrade
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Provision vm - Passo a Passo
O comando abaixo baixaram e instalaram uma lista de aplicativos e bibliotecas.
sudo apt-get -y install vim openssh-server git build-essential python-dev python-setuptools
libldap2-dev libsasl2-dev libpq-dev libjpeg-dev libfreetype6-dev zlib1g-dev libssl-dev
Segue a lista dos mais essenciais:
vim = editor de texto simples e intuitivo. Como a vm roda o ubuntu server, vai ser necessário
criar/editar arquivos de configurações utilizando um editor de texto.
git = aplicativo para realizar ações com repositórios de controle de versão Git
python-dev e outras = programa python e bibliotecas relacionadas
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Provision vm - Passo a Passo
Os comandos abaixo baixaram e instalaram o virtualenv, além de ter criado um
ambiente virtual para o desenvolvimento do nosso projeto.
sudo apt-get -y install python-virtualenv
sudo apt -y install python-pip
mkdir virtualenvs
cd virtualenvs
virtualenv --system-site-packages dev-suap
O nome do ambiente virtual criado foi dev-suap mas para outros projetos você pode
criar seus próprios ambientes virtuais executando o comando abaixo dentro da
pasta /home/vagrant/virtualenvs :
virtualenv meu-projeto-mooc
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Provision vm - Passo a Passo
Os comandos abaixo ativaram o ambiente virtual do projeto dev-suap e instalaram
nele o Django com a versão específica, além de instalar uma biblioteca predefinida.
source dev-suap/bin/activate
pip install django==1.11.10
sudo pip install psycopg2-binary
Agora podemos começar a utilizar a vm (box) para os nossos projetos.
Nas próximas etapas vamos ver o uso do GIT, Postgresql e
softwares IDE Python.

Lab python django - parte 2 - python + virtualenv

  • 1.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Python + Virtualenv Parte2 do nosso LAB Lab vagrant + Virtualenv GIT + Python + Django + Pycharm 2 Este Lab foi produzido para ser um estudo prático introdutório para as tecnologias envolvidas com desenvolvimento Python/Django. Sendo assim não tem intenção de ser um curso ou fonte de referências.
  • 2.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Porque Python? Pythoné uma linguagem de propósito geral de alto nível, multiparadigma, suporta o paradigma orientado a objetos, imperativo, funcional e procedural. Conta com um modelo comunitário de desenvolvimento, que é aberto e sem fins lucrativos. Por ser uma linguagem de alto nível, o Python não requer conhecimentos de outras linguagens para que se possa trabalhar com ele. A lógica da programação pode ser aplicada diretamente ao código, o que faz com que seu aprendizado seja simples e rápido. Python tem uma biblioteca padrão imensa, que contém classes, métodos e funções para realizar essencialmente qualquer tarefa, desde acesso a bancos de dados a interfaces gráficas com o usuário. Adaptado de https://pt.wikipedia.org/wiki/Python
  • 3.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Como instalaro Python? A versão mais atual do Python é a 3.7.4. No windows: Faça o download e instale https://www.python.org/downloads/windows/ Python 3.7 https://www.python.org/ftp/python/3.7.4/python-3.7.4-amd64.exe
  • 4.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Python 3no Windows Deixe marcadas as 2 opções “Install launcher for all users” e “Add Python 3.7 to PATH” Escolha a opção Personalizada => “Customize installation”
  • 5.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Python 3no Windows Deixe marcadas todas as opções.
  • 6.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Python 3no Windows Deixe marcadas as opções “Install for all users” e as 4 opções seguintes. Escolha uma pasta personalizada => “C:Python37”
  • 7.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Trabalhando comdiversas versões Virtualenv é uma ferramenta simples e poderosa que permite criar ambientes isolados de desenvolvimento Python, ou seja, torna possível a utilização de diversas bibliotecas em um mesmo ambiente sem que haja conflitos entre elas. Ao ativar o ambiente virtual “isolado”, os comandos de instalação e execução somente afetarão o ambiente virtual ativado. Para instalar o virtualenv no windows: Abra o Prompt de comando e digite: pip install virtualenv
  • 8.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Criando ambientevirtual - Virtualenv No windows: Abra o Prompt de comando na pasta de projetos Python (C:Usersggti14PycharmProjects) e digite: virtualenv venv37 -p C:Python37python.exe Será criado um ambiente virtual “isolado” configurado inicialmente com Python 3.
  • 9.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Ativando ambientevirtual - Virtualenv No windows: Abra o Prompt de comando na pasta de projetos Python (C:Usersggti14PycharmProjects) e digite: .venv37Scriptsactivate.bat Será ativado o ambiente virtual e também é apresentado o prompt: (venv37) C:Usersggti14PycharmProjects>
  • 10.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Desativando ambientevirtual No windows: Abra o Prompt de comando na pasta de projetos Python (C:Usersggti14PycharmProjects) e digite: .venv37Scriptsdeactivate.bat Será desativado o ambiente virtual e também será atualizado o prompt: C:Usersggti14PycharmProjects>
  • 11.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Python eVirtualenv em uma vm Muitas vezes encontramos dificuldades de instalar ou utilizar o Python no windows porque já possuímos outros softwares e, mesmo usando o Virtualenv, se torna mais difícil administrar estes ambientes virtuais diferentes. Vamos observar que o uso de uma vm (Virtual+vagrant) permite que sejam instaladas diferentes versões de Python junto com outras bibliotecas sem ter todas essas restrições que o ambiente Windows apresenta. Por fim, a escolha do uso do ambiente Python/Django em uma vm (linux) seja importante para que se tenha um ambiente equivalente do de produção(linux).
  • 12.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Python eVirtualenv em uma vm Preparação para instalação na vm (necessário ter realizado a Parte 1 do LAB): Com a vm desligada (vagrant halt), edite o arquivo Vagrantfile existente na pasta C:vagrant_vms
  • 13.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Python eVirtualenv em uma vm Devemos manter comentada a linha onde estiver (quase no fim do arquivo): # SHELL E acrescentar o trecho logo abaixo dessa linha: config.vm.provision "shell", inline: <<-SHELL sudo apt-get update #Instalar os pacotes básicos sudo apt-get -y install vim openssh-server git build-essential python-dev python-setuptools libldap2-dev libsasl2-dev libpq-dev libjpeg-dev libfreetype6-dev zlib1g-dev libssl-dev #Instalar e configurar virtualenv dev-suap sudo apt-get -y install python-virtualenv sudo apt -y install python-pip mkdir virtualenvs cd virtualenvs virtualenv --system-site-packages dev-suap source dev-suap/bin/activate pip install django==1.11.10 sudo pip install psycopg2-binary SHELL
  • 14.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Python eVirtualenv em uma vm Para iniciar a vm (box) com as modificações feitas no arquivo Vagrantfile, execute no Prompt de Comando na pasta c:vagrant_vms: vagrant up --provider virtualbox E após a vm estiver ligada execute: vagrant provision
  • 15.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Python eVirtualenv em uma vm O trecho acrescentado já realiza a atualização e instalação de todas as bibliotecas básicas que iremos precisar. Além disso já cria um ambiente virtual (virtualenv): config.vm.provision "shell", inline: <<-SHELL sudo apt-get update #Instalar os pacotes básicos sudo apt-get -y install vim openssh-server git build-essential python-dev python-setuptools libldap2-dev libsasl2-dev libpq-dev libjpeg-dev libfreetype6-dev zlib1g-dev libssl-dev #Instalar e configurar virtualenv dev-suap sudo apt-get -y install python-virtualenv sudo apt -y install python-pip mkdir virtualenvs cd virtualenvs virtualenv --system-site-packages dev-suap source dev-suap/bin/activate pip install django==1.11.10 sudo pip install psycopg2-binary SHELL
  • 16.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Provision vm- Passo a Passo Vou explicar como cada linha de comando funciona no provision. A distribuição do linux instalada é Ubuntu Server e o comando abaixo atualiza todo o catálogo de pacotes disponíveis para que possamos instalar algo mais recente. sudo apt-get update Sempre estaremos atualizando nosso ambiente. O comando abaixo verifica se há atualizações necessárias e apresenta para atualização. Caso confirme, as atualizações serão baixadas (download) e instaladas: sudo apt-get upgrade
  • 17.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Provision vm- Passo a Passo O comando abaixo baixaram e instalaram uma lista de aplicativos e bibliotecas. sudo apt-get -y install vim openssh-server git build-essential python-dev python-setuptools libldap2-dev libsasl2-dev libpq-dev libjpeg-dev libfreetype6-dev zlib1g-dev libssl-dev Segue a lista dos mais essenciais: vim = editor de texto simples e intuitivo. Como a vm roda o ubuntu server, vai ser necessário criar/editar arquivos de configurações utilizando um editor de texto. git = aplicativo para realizar ações com repositórios de controle de versão Git python-dev e outras = programa python e bibliotecas relacionadas
  • 18.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Provision vm- Passo a Passo Os comandos abaixo baixaram e instalaram o virtualenv, além de ter criado um ambiente virtual para o desenvolvimento do nosso projeto. sudo apt-get -y install python-virtualenv sudo apt -y install python-pip mkdir virtualenvs cd virtualenvs virtualenv --system-site-packages dev-suap O nome do ambiente virtual criado foi dev-suap mas para outros projetos você pode criar seus próprios ambientes virtuais executando o comando abaixo dentro da pasta /home/vagrant/virtualenvs : virtualenv meu-projeto-mooc
  • 19.
    http://pt.scribd.com/pedrofvieira @pedrofv1e1ra Provision vm- Passo a Passo Os comandos abaixo ativaram o ambiente virtual do projeto dev-suap e instalaram nele o Django com a versão específica, além de instalar uma biblioteca predefinida. source dev-suap/bin/activate pip install django==1.11.10 sudo pip install psycopg2-binary Agora podemos começar a utilizar a vm (box) para os nossos projetos. Nas próximas etapas vamos ver o uso do GIT, Postgresql e softwares IDE Python.