Python打包涉及的东西很多比如
setuptools
,easy_install
,distribute
,pip
为什么有这么多个就涉及到python的打包历史,这里假设已经学会python的基础编程,常用pip装一些包的经历。接下来希望使用pip来完成这次的打包。首先必须熟悉一个文件:
setup.py
它是python众多特殊的文件之一,用来形容当前的包比如它的内容可能如下:
from setuptools import find_packages, setup
setup(name="foo",
version="0.1",
description="A foo utility",
author="Ewen Cheslack-Postava",
author_email='me@ewencp.org',
platforms=["any"], # or more specific, e.g. "win32", "cygwin", "osx"
license="BSD",
url="http://github.com/ewencp/foo",
packages=find_packages(),
)
虽然很多但是最重要的是packages,它表述了此包的依赖项,类似pip中requirements.txt的作用。假如新建了一个包,咱既要让它工作又要让它方便编辑后的修改立刻生效,这里就需要说道开发者模式,原理大概类似把当前的源码文件夹指向site-pacakges,所以修改能立即被应用。
python setup.py develop
开发者模式安装,当然也可以卸载
python setup.py develop --uninstall
开发完后打包分发
python setup.py sdist
完