Haciendo tu paquete portátil

Principios de ingeniería de software en Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Pasos para la portabilidad

archivo setup.py

archivo requirements.txt

Principios de ingeniería de software en Python

Estructura del paquete portátil

Estructura del paquete

Principios de ingeniería de software en Python

Contenido de requirements.txt

trabajando en work_dir/requirements.txt

# Paquetes/versiones necesarios
matplotlib
numpy==1.15.4
pycodestyle>=2.4.0

trabajando con terminal

datacamp@server:~$ pip install -r requirements.txt
Principios de ingeniería de software en Python

Contenido de setup.py

from setuptools import setup

setup(name='my_package',
      version='0.0.1',
      description='Un paquete de ejemplo para DataCamp.',
      author='Adam Spannbauer',
      author_email='[email protected]',
      packages=['my_package'],
      install_requires=['matplotlib',
                        'numpy==1.15.4',
                        'pycodestyle>=2.4.0'])
Principios de ingeniería de software en Python

install_requires vs requirements.txt

trabajando en work_dir/requirements.txt

# Especificar dónde instalar los requisitos
--index-url https://pypi.python.org/simple/

# Paquetes/versiones necesarios
matplotlib
numpy==1.15.4
pycodestyle>=2.4.0

Documentación: install_requires vs requirements files

Principios de ingeniería de software en Python

Instalando tu paquete con pip

datacamp@server:~/work_dir $ pip install .
Construyendo ruedas para paquetes recopilados: my-package
  Ejecutando setup.py bdist_wheel para my-package ... hecho
Paquete my-package construido con éxito
Instalando paquetes recopilados: my-package
Paquete my-package-0.0.1 instalado con éxito
Principios de ingeniería de software en Python

¡Vamos a practicar!

Principios de ingeniería de software en Python

Preparing Video For Download...