创建python模块的模板
module_template的Python项目详细描述
请注意,此包是一个指定的“dud”包,以防止其他人意外地为原始模板上传叉子(至少同名)。
这是一个模板,用于快速引导可安装的python模块,以用于私人和专业用途。它基于我在部署python服务和库时遇到的几个问题和模式。
python的软件分发单元是一个模块。大多数模块将定义一个setup.py或一个setup.cfg。这种方法有以下好处:
- dependencies can be declared and automatically installed/upgraded
- one doesn’t need to ^{tt3}$ to a specific directory to start a service
- Easy upgrade path
- No issues with stale ^{tt4}$ files
python模块可以创建源发行版(sdist)和二进制发行版(bdist_wheel)。这与pypi镜像配合得非常好,pypi镜像允许在日常基础上安装/更新复杂的项目。
- 无痛苦安装中有几个关键点:
- setup.py
- manifest.in(如果项目中有非python文件,则必需)
- readme.rst(readme.md将要求您将readme.md添加到manifest.in)
此外,建议您遵循module_template的基本结构。
请注意,module_template只是一个名称,您可以自由重命名它以反映 祝愿。只要确保更新您的setup.py、您的about.py和(如果您定义了它)aMANIFEST.in
预期行为
预期所有业务逻辑和资产都将位于项目文件夹中(当前名为module_template,定义了__init__.py)。
包括非python文件
find_packages()将通过查找__init__.py文件为安装创建一个文件列表。显然,flasktemplates/文件夹和static/文件夹之类的东西没有python文件(静态文件通常应该从s3或nginx提供)。
在这种情况下,您需要manifest.in将这些文件夹移植到最终的模块化安装中。
有关详细信息,请参阅manifest.in。