1. 建立包结构
.
├── setup.py
├── suba
│ ├── aa.py
│ ├── bb.py
│ └── __init__.py
└── subb
├── cc.py
├── dd.py
└── __init__.py
from distutils.core import setup
setup(name='jing',version='1.0',description='jing module',author='zhangxiaojing',py_modules=['suba.aa','suba.bb','subb.cc','subb.dd'])
def showaa():
print 'aa'
2. 创建包
# pwd
/var/www/python_test/mymoudule
# python setup.py build #创建包命令
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/suba
copying suba/__init__.py -> build/lib.linux-x86_64-2.7/suba
copying suba/aa.py -> build/lib.linux-x86_64-2.7/suba
copying suba/bb.py -> build/lib.linux-x86_64-2.7/suba
creating build/lib.linux-x86_64-2.7/subb
copying subb/__init__.py -> build/lib.linux-x86_64-2.7/subb
copying subb/cc.py -> build/lib.linux-x86_64-2.7/subb
copying subb/dd.py -> build/lib.linux-x86_64-2.7/subb
# tree 查看包结构
.
├── build
│ └── lib.linux-x86_64-2.7
│ ├── suba
│ │ ├── aa.py
│ │ ├── bb.py
│ │ └── __init__.py
│ └── subb
│ ├── cc.py
│ ├── dd.py
│ └── __init__.py
├── setup.py
├── suba
│ ├── aa.py
│ ├── bb.py
│ └── __init__.py
└── subb
├── cc.py
├── dd.py
└── __init__.py
3. 发布包
# python setup.py sdist #生成(发布)压缩包
# tree
.
├── build
│ └── lib.linux-x86_64-2.7
│ ├── suba
│ │ ├── aa.py
│ │ ├── bb.py
│ │ └── __init__.py
│ └── subb
│ ├── cc.py
│ ├── dd.py
│ └── __init__.py
├── dist
│ └── jing-1.0.tar.gz #压缩包文件
├── MANIFEST
├── setup.py
├── suba
│ ├── aa.py
│ ├── bb.py
│ └── __init__.py
└── subb
├── cc.py
├── dd.py
└── __init__.py
4. 使用包
>>> from suba import *
>>> suba.aa.showaa()
>>> aa