Portabilitatea pachetului

Principii de inginerie software în Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Pași pentru portabilitate

Fișier setup.py

Fișier requirements.txt

Principii de inginerie software în Python

Structura unui pachet portabil

Structura pachetului

Principii de inginerie software în Python

Conținutul fișierului requirements.txt

lucrând în work_dir/requirements.txt

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

lucrând cu terminal

datacamp@server:~$ pip install -r requirements.txt
Principii de inginerie software în Python

Conținutul fișierului 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'])
Principii de inginerie software în Python

install_requires vs requirements.txt

lucrând în work_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

Documentație: install_requires vs requirements files

Principii de inginerie software în Python

Instalarea pachetului cu 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
Principii de inginerie software în Python

Să exersăm!

Principii de inginerie software în Python

Preparing Video For Download...