开源Python库
Python 一个很受人欢迎的原因之一是其有很丰富的第三方库,到本文开始写的时候已经在 PyPI 上有108298个第三方包提供。有人还对第三方库做了很好的总结 Awesome Python 那如何开源自己的Python 包,要注意些什么,这些在Python 的 官方文档 有很详细的介绍。我简单总结在此。
基本概念
Python Package Index 是Python 包管理仓库,就像Java 的Maven Repository .pip 是官方推荐的包管理工具.使用Python 2 >=2.7.9 or Python 3 >=3.4 的版本不需要手动安装pip ,如果使用 virtualenv 或者 Pyenv 也不用自己手动安装。如果需要手动安装,有多中方式,如果是linux 可以使用系统包管理工具,也可以下载 get-pip.py 和pip 的详细使用可参考其 文档 . 另外如果在一台机器上有多个Python 环境,入过默认环境是Python2 那Python3的包管理使用pip3,反过来也行,意思就是多环境下pip 是不共享的。
构建工具,distutils已经被淘汰了,官方推荐使用构建在其至少的setuptools 。
wheel 包,这是Python 包的二进制形式,其好处是无平台依赖,不需要在本地构建。
发布自己的包
和非发布的项目的区别是要对项目进行写配置。pip 在自动安装的时候我想它使用的是 python setup.py install 这样的命令。 setup.py 存在于项目的根目录下,setup.py中会包含 setup() 公告函数,默认参数会写在setup.cfg 中,具体例子可查看 PyPA sample project ,其他配置相关参考 文档
下一步注册PyPA的账号,上传项目到PyPI具体可参考 文档
项目命名
发现这样的博客没什么自己的东西,贴了不少链接,算是个知识整理过程。
检查PyPI是否存在相同的包名 检查GitHub, BitBucket, 等网站是否存在相同名称的项目 在搜索引起中检查你确定的名字会有什么样的检索结果 避免使用特别常见的词,有奇异的词,不然其他人很难搜索到你的项目。