15.12.2022 Views

Python Eficaz

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

/usr/local/bin/python3

Caso queira trabalhar novamente com o ambiente myproject, basta executar

source bin/activate no diretório, como fizemos antes.

Reproduzindo dependências

Agora que já temos o ambiente virtual, podemos continuar instalando pacotes

com pip à medida que forem necessários. Algum dia, depararemos com a

necessidade de copiar o ambiente para outra máquina. Por exemplo, digamos

que se queira reproduzir o ambiente de desenvolvimento no servidor de

produção. Ou, talvez, clonar o ambiente de outra pessoa em sua própria máquina

para poder rodar seu código.

O pyvenv facilita o trabalho nessas situações. Podemos usar o comando pip

freeze para salvar todas as dependências explícitas de pacote em um arquivo. Por

convenção, esse arquivo deve se chamar requirements.txt.

(myproject)$ pip3 freeze > requirements.txt

(myproject)$ cat requirements.txt

numpy==1.8.2

pytz==2014.4

requests==2.3.0

Agora, imagine que precisamos de outro ambiente idêntico ao de myproject.

Para isso, basta criar uma pasta como antes usando o pyvenv e ativar o ambiente

com activate.

$ pyvenv /tmp/otherproject

$ cd /tmp/otherproject

$ source bin/activate

(otherproject)$

O novo ambiente não terá nenhum pacote instalado.

(otherproject)$ pip3 list

pip (1.5.6)

setuptools (2.1)

Para instalar todos os pacotes do primeiro ambiente, basta executar pip install

sobre o arquivo requirements.txt que foi gerado com o comando pip freeze.

www.full-ebook.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!