Python打包成库供别的模块调用
2018年09月19日 20:47:08 ITBriceWu 阅读数:590
1.创建python项目bricewulib
2.新建test_package包并创建info1类以及print_hello方法
3.为了让包的结构再复杂点,我们再在test_package下面新建一个test_package2包并创建Info2类以及print_hello2方法(注意:这里是Info2,不是上面的Info1)
4.此时整个test_package编写完成,目录结构(test_package包包含test_package2包以及info1类,test_package2包中又包含info2类)
5.编写:setup.py,注意:setup.py与test_package包同在bricewulib根目录下,而setup.py中的内容如下图
其中比较重要的几项是:name,version,packages
name:描述的是你打包的文件文件名。
version描述的是文件的版本号。
packages是所有要打包的包(package),这里需要打包的是test_package包以及test_package包下的test_package2。所以packages=[‘test_package’,‘test_package.test_package2’]。包与包之间用逗号“ ,”隔开
6.命令:python setup.py sdist 为模块创建一个源码包(linux下的命令,windows下自寻上网查询或见此博客的参考链接)
7.多了一个MANIFEST文件以及文件夹dist,而我们的源码包就在dist文件夹下面
8.我们将其解压得到文件夹bricewulib-1.0,并进入文件夹bricewulib-1.0
9.到bricewulib-1.0目录下执行:sudo python setup.py install进行库的安装
10.此时,我们的/usr/local/lib/python2.7/dist-packages/目录下会多出一个文件bricewulib-1.0.egg-info和文件夹test_package,如图(从上面的安装信息也可以看出):
11.进入文件夹test_package可以看到,这里的文件即是我们的源码:
12.至此打包完成。
13.新建mytest项目来调用test_package包,依次通过 Info1.print_hello(),Info2.print_hello2()方法分别调用
参考链接:
https://blog.csdn.net/Julialove102123/article/details/80009971
https://blog.csdn.net/lynn_kong/article/details/17540207
http://www.cnblogs.com/UnGeek/p/5922630.html