Tornando seu pacote portátil

Princípios de Engenharia de Software em Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Passos para portabilidade

arquivo setup.py

arquivo requirements.txt

Princípios de Engenharia de Software em Python

Estrutura do pacote portátil

Estrutura do Pacote

Princípios de Engenharia de Software em Python

Conteúdo do requirements.txt

trabalhando em work_dir/requirements.txt

# Pacotes/versões necessários
matplotlib
numpy==1.15.4
pycodestyle>=2.4.0

trabalhando com terminal

datacamp@server:~$ pip install -r requirements.txt
Princípios de Engenharia de Software em Python

Conteúdo do setup.py

from setuptools import setup

setup(name='my_package',
      version='0.0.1',
      description='Um pacote de exemplo para DataCamp.',
      author='Adam Spannbauer',
      author_email='[email protected]',
      packages=['my_package'],
      install_requires=['matplotlib',
                        'numpy==1.15.4',
                        'pycodestyle>=2.4.0'])
Princípios de Engenharia de Software em Python

install_requires vs requirements.txt

trabalhando em work_dir/requirements.txt

# Especificar onde instalar os requisitos
--index-url https://pypi.python.org/simple/

# Pacotes/versões necessários
matplotlib
numpy==1.15.4
pycodestyle>=2.4.0

Documentação: install_requires vs arquivos de requisitos

Princípios de Engenharia de Software em Python

Instalando seu pacote com pip

datacamp@server:~/work_dir $ pip install .
Construindo rodas para pacotes coletados: my-package
  Executando setup.py bdist_wheel para my-package ... feito
Pacote my-package construído com sucesso
Instalando pacotes coletados: my-package
Pacote my-package-0.0.1 instalado com sucesso
Princípios de Engenharia de Software em Python

Vamos Praticar

Princípios de Engenharia de Software em Python

Preparing Video For Download...