有时候我们创建了一个非常好用的包,希望能够分发给好友一起使用,或者开源到网上,这个时候就要会利用python包的发布的工具。 一个健壮的包,并不只是包含有代码,应该有说明文档和测试代码,一般的目录结构是这样的:
project/
README.txt
setup.py
MANIFEST.ni
doc/
documention.txt
project/
__init__.py
foo.py
...
utils/
__init__.py
func.py
...
test/
test1.py
...
与包的建立的相比,多了setup.py文件和MANIFEST.n文件,这两个文件包含了包发布相关的所有内容。
# setup.py
from distutils.core import setup
setup(name='project',
version='1.0',
auther='your name',
url = 'your url'
packages=['project', 'project.utils'),
)
需要说明的是packages=['project', 'project.utils']
,这里指明包包含有哪些内容,包括顶层包和子包,常见的错误就是在这里指明了顶层包却没有指明子包,导致子包不可用。
#MANIFEST.ni
include *.txt
recursive-include test *
recursive-include doc *
可以看出该文件的功能就是列出各种不属于代码的部分,也就是非源码部分。
打开运行(win键+R)输入cmd,通过cd /d c:\home 将工作路径转移到包的目录(我的是C:\home)
运行命令 python setup.py install 安装库 ,最后提示Installed:位置。。 表示安装成功。
在包的目录下输入:
bash python setup.py sdist