写python程序时常常要导入各种包,使用其中的模块或功能。我们如果有可以复用的功能或模块也可以发布成包,并安装在自己或他人电脑上,以供自己或别人使用。python发布包的步骤如下:
一、首先为模块创建一个文件夹
比如我有一个名为analyzelog.py的文件想发布成包,新建了一个文件夹AnalyzeLogTest(名字无所谓),并放入analyzelog.py文件
二、在新文件夹中创建一个名为setup.py的文件
这个文件包含有关发布的元素,增加如下代码
from distutils.core import setup setup(
name = 'analyzelog',
version = '1.0.0',
py_modules = ['analyzelog'],
author = 'zs',
author_email = 'XXXX',
url = 'xxxxx',
description = 'XXXXXXXXX',
)
开头先从python发布工具导入“setup”函数
接下来调用setup函数,并为setup函数传参。
name是模块的名字,version是版本号,py_modules是模块包含的文件名,是一个列表,剩下几项是作者、作者邮箱,网址,和模块的描述
setup.py创建好之后,就可以开始下一步了。
三、 构建一个发布版本
在命令行界面进入到新建的文件夹路径下,输入如下命令:(我用的windows,已将python的地址设置在系统环境变量中)
python setup.py sdist
如上图所示,python包就发布好了
四、将发布的包安装到本地
输入如下命令python setup.py install,如下图所示,就安装完成了。
从图中我们也可以看到python安装大体做了哪些工作:1. 把代码拷贝到了python主目录下的Lib\site-packages文件夹中;2. 编译代码成为中间代码,对于中间代码,只有要原代码有变化时,编译才会重新生成中间代码,原代码如果没有变化,编译时中间代码不会重新生成。
让我们回头看一下,新建的文件夹下有什么变化
最开始的时候里面有两个文件夹,analyzelog.py和setup.py
安装完成后里面多了几个文件和文件夹,如下图所示。
MANIFEST文件中包含发布中的文件列表,可以用记事本打看看一下,里面记录了analyzelog.py和setup.py
build文件夹及子文件夹lib存放的是原代码analyzelog.py
dist文件夹中存放的是发布包analyzelog-1.0.0.tar.gz
最后我们就可以在python代码中import之前安装的包,使用其中的模块或函数了。