ทำให้แพ็กเกจใช้งานได้ทุกที่

หลักการวิศวกรรมซอฟต์แวร์ใน Python

Adam Spannbauer

Machine Learning Engineer at Eastman

ขั้นตอนสู่ความสามารถพกพา

ไฟล์ setup.py

ไฟล์ requirements.txt

หลักการวิศวกรรมซอฟต์แวร์ใน Python

โครงสร้างแพ็กเกจแบบพกพา

โครงสร้างแพ็กเกจ

หลักการวิศวกรรมซอฟต์แวร์ใน Python

เนื้อหาใน requirements.txt

ทำงานใน work_dir/requirements.txt

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

ทำงานกับ terminal

datacamp@server:~$ pip install -r requirements.txt
หลักการวิศวกรรมซอฟต์แวร์ใน Python

เนื้อหาใน 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'])
หลักการวิศวกรรมซอฟต์แวร์ใน Python

install_requires vs requirements.txt

ทำงานใน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

เอกสารอ้างอิง: install_requires vs requirements files

หลักการวิศวกรรมซอฟต์แวร์ใน Python

การติดตั้งแพ็กเกจด้วย 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
หลักการวิศวกรรมซอฟต์แวร์ใน Python

มาฝึกกันเถอะ!

หลักการวิศวกรรมซอฟต์แวร์ใน Python

Preparing Video For Download...