python打包算法库
打包文件的格式我们常见的有egg(easy_install),whl(pip),前一种是python打包工程的原生方法,后一种已经成为了主流,因为具有一下一些特点:
- 更快速地安装纯Python包和native C extension包。
- 在安装时避免武断的代码执行(避免setup.py)
- C extension的安装并不要求在Windows和MacOS平台上有编译器。
- 为测试和持续集成(CI)提供了更好的缓存。
- 创建.pyc文件作为安装的一部分,以保证它们符合Python解释器的使用。
- 更好的跨平台。
打包工具setuptools简介
setuptools是对distutils的增强,使用起来已经相当简单了,我把算法库打包成wheel(这就是所谓的车轮),里面有所有的工程文件和egg-info。以下是setuptools的四个打包发布常用的四个命令:
1 | 编辑: 先在项目主目录下编辑setup.py, |
在pypi上发布自己的算法包
发布自己的算法包真的是一件很爽的事情,我现在有非常多的工作都调用了我以前分布的算法库TEDT中的功能!
- 登录并注册:https://pypi.org/
- 参照这个模板编辑自己的setup.py,我的算法库安装文件在最后附上!
1 | #!/usr/bin/env python |
- 使用twine上传(加密传输)压缩包
1 | sudo pip install twine |
- 顺便附上上传导github的命令吧
1 | cd ~/project/EMDT-master |
好啦~到这里就结束了,看到这篇博客的亲们已经可以用
pip install EMDT
或者
pip3 install EMDT
没错只对python3兼容哦~附上setup.py,大功告成!
附录
1 | #!/bin/python2.7 |