模块(4):发布模块

 

 

在开发中,如果开发了还不错的模块,就可以制作成一个“压缩包”。然后分享给别人。

 

比如我们前面开发了一下两个模块,并把他们打成了一个包。

 

包my_package结构:

模块(4):发布模块

 

内容如下:

模块(4):发布模块

 

 

 

 

一、制作“压缩包”

只需要三个步骤。

 

(1) 步骤1:编写setup.py

内容很固定,复制修改一下就行。

 

模块(4):发布模块

内容:

模块(4):发布模块

 

 

 

(2)步骤2:构建模块

 

注意,不能在Pycharm中执行。而是通过命令行方式执行。

 

模块(4):发布模块

 

运行完之后可以看到多了一个build目录。而build文件夹就是我们最后打包的压缩包。

 

使用dos tree命令可以查看build目录的结构:

 

模块(4):发布模块

 

 

(3) 步骤3:生成“压缩包”

 

模块(4):发布模块

 

运行完之后可以可以看到生成了一个dist目录,里面有一个压缩包:

 

模块(4):发布模块

 

这个压缩包,就可以发送给别人使用了。

 

 

 

 

二、当拿到别人开发好的“压缩包”之后,怎么使用

当我们拿到了一个压缩包之后,怎么用呢?(以windows下使用为例)

比如拿到了下面这个压缩包:

模块(4):发布模块

 

放在了D:\pythonCodes\python学习\download目录下。

 

(1) 步骤1:解压

 

解压完之后,可以看到download目录下多了一个my_package-1.0文件夹。

 

模块(4):发布模块

 

my_package-1.0下内容为:

模块(4):发布模块

 

PKG-INFO中内容为:

模块(4):发布模块

 

 

(2) 步骤2:安装模块

 

模块(4):发布模块

 

我们到D:\Anaconda3\Lib\site-packages\下看一下,发现多了一个文件夹和一个文件。

模块(4):发布模块

模块(4):发布模块

 

 

 

这说明已经成功安装了。

 

(3)步骤3:使用模块

这样就可以导入模块,然后使用了。就想numpy、matplot模块一样用。

 

模块(4):发布模块

 

 

注:在linux下也是这三步。比如:

(1)解压

cd /home/liupc/download

tar  -xvf my_package-1.0.tar.gz

(2)安装

cd my_package-1.0

sudo python3 setup.py install

(3)使用

python

import my_package

my_package.my_模块1.send()

 

 

补充:如果不想继续使用了,如何卸载呢?

只需要到D:\Anaconda3\Lib\site-packages\下把刚才多的文件夹和文件删除即可。

如果不知道路径怎么办?

使用模块的__file__属性。

 

模块(4):发布模块

 

 

 

 

三、使用pip工具安装第三方模块

第三方模块 通常是一些知名的团队开发 的 并且被广泛使用的 Python 包/模块。例如pygame,就是一套成熟的游戏开发模块。

 

在Python中,针对第三方模块的安装,提供了一个pip的包管理工具。不用像前面二讲的那样比较麻烦。

 

sudo pip install pygame

sudo pip uninstall pygame