1. 程式人生 > >python-基礎筆記5-封包解包使用包

python-基礎筆記5-封包解包使用包

 1. 建立包結構
# subl .     #sublime開啟資料夾
# tree        #包 的內部結構
.
├── setup.py    #包啟動檔案
├── suba
│   ├── aa.py   #該檔案包含多個python函式
│   ├── bb.py
│   └── __init__.py   #必須檔案
└── subb
    ├── cc.py
    ├── dd.py
    └── __init__.py

#setup.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']) #suba/aa.py 的內容 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. 使用包
# cp dist/jing-1.0.tar.gz /var/www/python_test/ 
# pwd
# cd /var/www/python_test
# tar zxvf jing-1.0.tar.gz  #解包
# python setup.py install #安裝包
# python
>>> from suba import *   #匯入使用
>>> suba.aa.showaa()
>>> aa