Você está na página 1de 19

Python +

Lab vagrant +
Virtualenv
GIT + Python

Virtualenv
+ Django +
Pycharm

Parte 2 do nosso LAB

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:\Users\ggti14\PycharmProjects) e digite:

virtualenv venv37 -p C:\Python37\python.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:\Users\ggti14\PycharmProjects) e digite:

.\venv37\Scripts\activate.bat

Será ativado o ambiente virtual e também é apresentado o prompt:

(venv37) C:\Users\ggti14\PycharmProjects>

http://pt.scribd.com/pedrofvieira @pedrofv1e1ra
Desativando ambiente virtual
No windows:

Abra o Prompt de comando na pasta de projetos Python


(C:\Users\ggti14\PycharmProjects) e digite:

.\venv37\Scripts\deactivate.bat

Será desativado o ambiente virtual e também será atualizado o prompt:

C:\Users\ggti14\PycharmProjects>

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.
http://pt.scribd.com/pedrofvieira @pedrofv1e1ra

Você também pode gostar