Python 打包Package还有开发者模式 Develop Mod

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