演示如何构造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是从此类字符串中提取数据的最佳方法   filenotfoundexception Java FileOutputStream Windows/Linux   java在SQLite数据库Android SDK中搜索特定字符串   java使用键值访问jsp中Map<Long,Map<String,Object>>的内容   java奇怪的HTMLeditor工具包问题   在java中使用数组只计算字母   每个应用程序都可以有自己独立的Java SDK吗   java如何将jasper报告生成的PDF文件保存在一个项目文件夹中   java BigDecimal包装器:静态字段为零   解码Base64图像时出现java IllegalArgumentException(非法的Base64字符)   将int转换为字节在Java和Actionscript中产生不同的结果   java什么使不可变对象在没有安全发布技术的情况下发布?   java将字节数据写入目录   一个计算器中有多个操作的java问题   面向对象Java重写是如何工作的   带hibernate的java ClassCastException   指向最后一个对象的java对象列表   java单元测试spring项目中的Get请求