Rendre votre package portable

Principes de génie logiciel en Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Étapes vers la portabilité

setup.py file

requirements.txt file

Principes de génie logiciel en Python

Structure de package portable

Structure du package

Principes de génie logiciel en Python

Contenu de requirements.txt

travail dans work_dir/requirements.txt

# Needed packages/versions
matplotlib
numpy==1.15.4
pycodestyle>=2.4.0

travail dans le terminal

datacamp@server:~$ pip install -r requirements.txt
Principes de génie logiciel en Python

Contenu de setup.py

from setuptools import setup

setup(name='my_package',
      version='0.0.1',
      description='An example package for DataCamp.',
      author='Adam Spannbauer',
      author_email='[email protected]',
      packages=['my_package'],
      install_requires=['matplotlib',
                        'numpy==1.15.4',
                        'pycodestyle>=2.4.0'])
Principes de génie logiciel en Python

install_requires vs requirements.txt

travail avecwork_dir/requirements.txt

# Specify where to install requirements from
--index-url https://pypi.python.org/simple/

# Needed packages/versions
matplotlib
numpy==1.15.4
pycodestyle>=2.4.0

Documentation : install_requires vs requirements files

Principes de génie logiciel en Python

Installation de votre package avec pip

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
Principes de génie logiciel en Python

Passons à la pratique !

Principes de génie logiciel en Python

Preparing Video For Download...