项目结构
知识点
创建项目,编写 __init__ 文件
使用 setuptools 模块,编写 setup.py 和 MANIFEST.in 文件
创建源文件的发布版本
项目注册&上传到 PyPI
实验步骤
本实验阐述了一个完整的 Python 项目结构,你可以使用什么样的目录布局以及怎样发布软件到网络上。
我们的实验项目名为 factorial。
$ mkdir factorial
$ cd factorial/
1. 主代码
我们给将要创建的 Python 模块取名为 myfact,因此我们下一步创建 myfact 目录。
$ mkdir myfact
$ cd myfact/
主代码将在 fact.py 文件里面。
"myfact module"
def factorial(num):
"""
返回给定数字的阶乘值
:arg num: 我们将计算其阶乘的整数值
:return: 阶乘值,若传递的参数为负数,则为 -1
"""
if num >= 0:
if num == 0:
return 1
return num * factorial(num -1)
else:
return -1
我们还有模块的 __init__.py 文件,内容如下:
from fact import factorial
__all__ = [factorial, ]
我们还在 factorial 目录下添加了一个 README.rst 文件。因此,目录结构看起来像下面这样:
2. MANIFEST.in
现在我们要写一个 MANIFEST.in 文件,它用来在使用 sdist 命令的时候找出将成为项目源代码压缩包一部分的所有文件。
include *.py
include README.rst
如果你想要排除某些文件,你可以在这个文件中使用 exclude 语句。
3. 安装 python-setuptools 包
我们使用 virtualenv(这里不示范步骤)。
$ sudo pip3 install setuptools
4. setup.