Je pakket draagbaar maken

Software-engineeringprincipes in Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Stappen naar draagbaarheid

setup.py bestand

requirements.txt bestand

Software-engineeringprincipes in Python

Draagbare pakketstructuur

Pakketstructuur

Software-engineeringprincipes in Python

Inhoud van requirements.txt

werken in work_dir/requirements.txt

# Benodigde pakketten/versies
matplotlib
numpy==1.15.4
pycodestyle>=2.4.0

werken met terminal

datacamp@server:~$ pip install -r requirements.txt
Software-engineeringprincipes in Python

Inhoud van setup.py

from setuptools import setup

setup(name='my_package',
      version='0.0.1',
      description='Een voorbeeldpakket voor DataCamp.',
      author='Adam Spannbauer',
      author_email='[email protected]',
      packages=['my_package'],
      install_requires=['matplotlib',
                        'numpy==1.15.4',
                        'pycodestyle>=2.4.0'])
Software-engineeringprincipes in Python

install_requires vs requirements.txt

werken in work_dir/requirements.txt

# Geef aan waar je vereisten installeert
--index-url https://pypi.python.org/simple/

# Benodigde pakketten/versies
matplotlib
numpy==1.15.4
pycodestyle>=2.4.0

Documentatie: install_requires vs requirements files

Software-engineeringprincipes in Python

Je pakket installeren met pip

datacamp@server:~/work_dir $ pip install .
Wielen bouwen voor verzamelde pakketten: my-package
  setup.py bdist_wheel uitvoeren voor my-package ... klaar
Succesvol gebouwd: my-package
Verzamelde pakketten installeren: my-package
Succesvol geïnstalleerd: my-package-0.0.1
Software-engineeringprincipes in Python

Laten we oefenen

Software-engineeringprincipes in Python

Preparing Video For Download...