创建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。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在Spring工具套件中找到Spring版本?   是否有API将vSphere JSON结果映射到适当的Java对象?   java在spring WebSocket中有请求作用域吗?(websocket scop==会话范围)   java我想从list1中删除list2元素并返回list1   java使用JPA/Hibernate为单个集合使用多个@Where   JSF2.0中混合Ajax和完整请求的java   java变量miles可能尚未初始化   java使用文件路径StringArray构建父子数组   java数据源在struts中不起作用   java从另一个类访问txtField值   具有相同主键和外键双向关系的java Hibernate实体OneToOne   java Android广播接收器:上下文问题   java我可以将实体指定为数据存储属性以实现类似joinlike的功能吗?   java如何排除hadoop核心依赖项   java是否可以确定用户是否实时单击了任何通知(不仅仅是来自我的应用程序)?   java在单独的类中访问私有变量?   java如何使用Spring@Value注入映射