python 如何編寫一個自己的包
先寫function 內容
package/wadepypk$ ls
__init__.py f1.py f2.py
f1.py
def show():
print("in pkg f.show()")
f2.py
def show():
print("in pkg f.show()")
init.py
__all__ = ['f1','f2']
上層目錄建立一個setup.py
from distutils.core import setup
setup(
name='wadepypk',
version='1.0',
description='This is a test of the setup',
author='huoty',
author_email='no7david123@gmail.com',
url='https://www.deng.io',
packages=['wadepypk']
)
build
python setup.py build
打包
python setup.py sdist
得到一個wadepypk-1.0.tar.gz
使用
tar -zxvf wadepypk-1.0.tar.gz
cd wadepypk-1.0
python setup.py install
則安裝到本地的目錄里面
當然也可以在作為git 項目直接upload 到git repo,然后再git clone 去分發
python具體代碼調用
>>> from wadepypk import f1,f2
>>> f1.show()
in pkg f.show()
>>> f2.show()
in pkg f.show()
升級包
修改下源碼
f2.py
def show():
print("in pkg f2.show()")
重新 build, sdist ,install ,setup
退出python 終端,不然仍然使用cache 里面的1.0包版本
>>> from wadepypk import f1,f2
>>> f2.show()
in pkg f2.show()
原來的"in pkg f.show()" 已經改為 "in pkg f2.show()"