Rendere il tuo pacchetto portatile

Principi di Ingegneria del Software in Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Passi per la portabilità

file setup.py

file requirements.txt

Principi di Ingegneria del Software in Python

Struttura del pacchetto portatile

Struttura del pacchetto

Principi di Ingegneria del Software in Python

Contenuto di requirements.txt

lavorando in work_dir/requirements.txt

# Pacchetti/versioni necessari
matplotlib
numpy==1.15.4
pycodestyle>=2.4.0

lavorando con terminal

datacamp@server:~$ pip install -r requirements.txt
Principi di Ingegneria del Software in Python

Contenuto di setup.py

from setuptools import setup

setup(name='my_package',
      version='0.0.1',
      description='Un pacchetto di esempio per DataCamp.',
      author='Adam Spannbauer',
      author_email='[email protected]',
      packages=['my_package'],
      install_requires=['matplotlib',
                        'numpy==1.15.4',
                        'pycodestyle>=2.4.0'])
Principi di Ingegneria del Software in Python

install_requires vs requirements.txt

lavorando in work_dir/requirements.txt

# Specifica dove installare i requisiti
--index-url https://pypi.python.org/simple/

# Pacchetti/versioni necessari
matplotlib
numpy==1.15.4
pycodestyle>=2.4.0

Documentazione: install_requires vs requirements files

Principi di Ingegneria del Software in Python

pip install del tuo pacchetto

datacamp@server:~/work_dir $ pip install .
Building wheels for collected packages: my-package
  Running setup.py bdist_wheel for my-package ... done
Successfully built my-package
Installing collected packages: my-package
Successfully installed my-package-0.0.1
Principi di Ingegneria del Software in Python

Facciamo pratica

Principi di Ingegneria del Software in Python

Preparing Video For Download...