在数据科学时代,主流语言是python,因为python有很多成熟的包供大家使用,使用的方式是pip install xx,那么如果自己也开发了一个牛的算法想让大家使用,如何打包为pip包呢?下面就详细分享一下具体操作步骤:
1、注册一个PyPi帐号
PyPi注册网站
注册帐号就是最一般的流程了,填写帐号和密码之后,在邮箱验证一下就可以了.
2、安装发布包
在发布自己包之前,需要安装一下pypi发布所依赖的包twine,以及setuptools
3、在github上创建项目
访问github一般有两种方式:
一、Github Web的访问地址:https://github.com/
二、Github Desktop的下载地址:https://desktop.github.com
自己可以使用任何一种方式在github上注册自己的帐号并且创建项目
4、在github上编写自己的代码
以比较简单的求两个数之和为例,说明编写代码的结构
假如在github上创建的项目名称是pip_demo,那么接下来就是在该目录下创建相关的python脚本
1)首先需要创建__init__.py文件,这个文件可以是空文件,但必须要有.
2)再次创建setup.py文件,这个文件比较重要,下面是示例:
#!/usr/bin/python
# encoding: utf-8
from setuptools import setup, find_packages
setup(
name="two_num_sum",
version="0.1",
license="MIT Licence",
url="https://github.com/wshzd/NLP/new/master/pip_package/two_num_sum",
author="hezd",
author_email="[email protected]",
packages=find_packages(),
include_package_data=True,
platforms="any",
install_requires=[]
)
关键参数说明:
name的名称就是包的名称,别人可以使用pip install name安装的.
version是版本号,这个很容易理解,后面更新的版本号要比这个高才行.
packages是导入目录下的所有__init__.py包
install_requires是引入的第三方的包,如果有版本号,也需要写上
3)创建自己代码add.py
#!/usr/bin/python
# encoding: utf-8
def add_two_num(a, b):
return a + b
5、打包项目
cd pip_demo到目录下,然后执行下面代码
python setup.py bdist_egg
会生成two_num_sum-0.1-py3.6.egg文件
6、发布模型到pypi服务器上
cd pip_demo到目录下
twine upload dist/two_num_sum-0.1-py3.6.egg
此时需要输入在PyPi网站的用户名和密码
如果出现如下的界面,那么恭喜你,发布成功了!!!
7、使用自己发布的pip包
1)使用pip安装自己发布的包
pip install two_num_sum
2)查看一下是否安装成功
执行pip list
至此已经成功发自己开发的python算法发布到pypi,开源给所有人使用了
其实还有一些库,比如pyinstaller包可以打包为exe文件,大致步骤是:
1)安装pyinstaller包
pip install pyinstaller
2)打包自己代码为exe文件
pyinstaller -F yourScript.py
由于pyinstaller默认的参数为-D,会创建一个目录,里面包含exe以及其他一些依赖性文件
这样没有达到我们目的,打包是加上-F:打包成一个EXE文件