让你的包可移植

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 与 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 与 requirements 文件

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 中的软件工程原理

¡Vamos a practicar!

Python 中的软件工程原理

Preparing Video For Download...