Python 持续学习 - 共享你的代码
可重用的代码固然不错,不过可共享的模块更棒。通过作为 Python 模块共享你的代码就可以向整个 Python 社区开放你的代码,共享总是一件好事,学习如何创建、安装、和发布你的可共享模块,然后把你的模块加载到 WEB 上的 Python 软件共享网站,这样所有人都能受益于你的工作。
01. 函数转换为模块
模块就是一个包含 Python 代码的文本文件。对模块的主要需求就是要求文件名以 。py 结尾,这就是 Python 扩展名。要把你的函数转换为一个模块,需要把代码保存到一个适当命名的文件中。
Python 标准库里已经加载了大量的模块,而且他们已经在你的计算机上了。如果标准库里没有你要的模块,第三方 Python 模块可以在 PypI (Python Package Index,PyPI) 上查找需要的模块。
02. 注释代码
代码注释的方法为三重引号如: “”” 今天天气很好,这是个天气模块 “””
03. 准备发布
为了共享新创建的这个模块,需要准备一个发布。在 Python 中,所谓 “发布”(distribution)是指一个文件集合,这些文件联合在一起允许你构建。打包和发布你的模块。
一旦发布存在,就可以把模块安装到你的 Python 本地副本上,还可以把模块上传到 PyPI 与全世界共享。
01. 首先创建一个文件夹
- 创建了文件夹之后,将 nester.py 模块文件复制到这个文件夹中。为简单起见,下面把这个文件夹命名为 nester。
02. 在新文件夹中创建一个名为 “setup.py” 的文件。
这个文件包含有关发布的源数据。编辑这个文件,增加下面代码
1
2
3
4
5
6
7
8
9
10
11form distutils.core import setup
setup (
name = 'nester',
version = '1.0.0',
py_modules = ['nester'],
author = 'zinmm',
author_email = 'zinmm@msn.cn'
url = 'http://www.zinmm-dev.com'
description = 'wild ones so 用尽脑细胞突突突'
)
04. 构建发布
现在已经有了一个文件夹,其中包含两个文件:模块代码放在 nester.py 中,模块的有关源数据放在 setup.py 中。 现在构建你的发布。
03. 构建一个发布文件。
- 发布工具包含有一个发布所需的所有功能。在 nester 文件夹中开开一个终端窗口键入一行命令: python3
setup.py sdist
。
04. 将发布安装到你的 Python 本地副本中。
- 仍然在终端窗口中,键入以下命令:
sudo python3 setup.py install
。
发布已经准备就绪。
05. 发布速览
利用 Python 的发布工具,你的模块已经转化成一个发布,并且安装在你的 Python 本地副本上。
开始时只有一个函数,这个函数输入到一个名为 nester.py 的文件中,这就创建了一个模块。然后创建一个名为 nester 的文件夹存放这个模块。通过在这个文件夹中增加一个名为 setup.py 的文件,从而能够构建和安装你的发布,这会生成一组额外的文件,并在 nester 文件夹中出现两个新的文件夹。这些文件和文件夹都是由发布工具为你创建的
06. 导入模块并使用
既然已经构建了模块,并作为发布打包和安装,下面来看使用时还需要什么。要使用一个模块,只需把它导入到你的程序中,或者导入到 IDLE shell:
1 | """ 使用 python 关键字 import 导入模块,不需要包含 .py 扩展名 """ |
07. Python 的模块实现命名空间
Python 中的所有代码都与一个命名空间关联。
主 Python 程序中(以及 IDLE shell 中)的代码与一个名为 main 的命名空间关联。将代码放在其单独的模块中时,Python 会自动创建一个与模块同名的命名空间。所以,你的模块中的代码会与一个名为 nester 的命名空间关联。
1 | import nester |