演示如何构造python项目。

somepackage的Python项目详细描述


https://travis-ci.org/bast/somepackage.svg?branch=masterhttps://img.shields.io/badge/license-%20MPL--v2.0-blue.svg

一些包

演示如何构造python项目。

灵感来自https://github.com/kennethreitz/samplemod

建议

Python2还是3?

  • 在Python3下开发代码,测试Python2和Python3 但是,假设python 3现在是默认的。

将代码分成包、模块和函数

  • 所有代码都应该在某个函数中(除了if __name__ == '__main__':)。
  • 将长函数拆分为更小的函数。
  • 如果需要在多个屏幕上滚动一个函数,可能太长了。
  • 用下划线隐藏内部。
  • 将相关功能组织成模块。
  • 如果模块太大,请将它们分开。
  • 使用from .somemodule import somethingsomepackage/下的其他模块导入。
  • 在代码的“外部”进行I/O文件,而不是在代码的内部。

命名

  • 为子目录指定与包相同的名称。
  • 在命名包之前,请检查名称是否不在https://pypi.org上 (您可能希望有一天将您的包上载到pypi)。

接口

  • somepackage/__init__.py中,定义应该对外部可见的内容。
  • 使用https://semver.org

测试

依赖性管理

  • 开发人员的包依赖项应列在requirements.txt中。
  • 代码用户(可能通过pip安装)的包依赖项应列在setup.py中。

代码样式

分享您的套餐

文件

建议?更正?拉取请求?

是的,拜托!

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

推荐PyPI第三方库


热门话题
java使用(BluetoothGattCharacteristic)特性中的数据创建、写入和保存csv文件。getValue()   java如何使用groupBy创建一个值为BigDecimal字段平均值的映射?   日期时间Java将iso_即时格式的字符串转换为日期   java如何检索和显示Android firebase的配置文件?   scala AWSJAVASDK:解压缩大小必须小于262144000字节   要应用于列表的java JSTL if条件   java在3个点之间画一个正方形   Kotlin java抽象类IllegaAccessError   java原语双值相等取决于大小?   java有没有一种方法可以对数据集使用compareTo()方法,而不必遍历数据集的每个元素?   java为什么我发送的每个UDP消息都会改变端口源?   重新选择文件时swing Java JTree冻结   java不知道我的游戏是怎么回事   Motif L&F中自定义组合框渲染器中的Java Swing消失文本   java Trade Me API访问前的OAuth