python SDK打包

什么是SDK

先放一段专业性的文字来解释:
SDK即“软体开发工具包”,一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。通俗点是指由第三方服务商提供的实现软件产品某项功能的工具包。
开发者不需要再对产品的每个功能进行开发,选择合适稳定的SDK服务并花费很少的经历就可以在产品中集成某项功能。
我的理解:
之前我们写代码都是
import numpy
import os
import 。。。。。。。
然后再调用相关函数,但是,当我们把自己写的代码用sdk打包以后,我们可以import自己写的东西,有没有很酷炫,而且别人也能用。

帮助理解sdk的参考博客

SDK打包方法

以下面的项目文件夹结构为例
在这里插入图片描述

demo包下面是你想打包的项目。
buildings_selector.h5是我的项目要用到的模型文件,你的可能是.txt文件或者是.xls文件等等。
_inint _.py文件必须存在,可以是空的,在这里我的文件内容如下:

from demo import bcover

bcover.py文件内容如下所示,包含自己写的各种方法,用于后期调用
在这里插入图片描述
1. 打包sdk,必须要添加以下4个文件:setup.py、setup.cfg、README.rst、MANIFEST.in,位置如下所示,和demo文件夹在同一个父文件夹下。
在这里插入图片描述

2. setup.py的内容如下:

import os
import setuptools  # 没有的直接pip install一下就行了

setuptools.setup(
    name='DEMO',  # 这里的名字最好和代码的文件名一样
    version='1.0',
    description='A demo for python packaging.',  # 一个简要的介绍
    long_description=open(
        os.path.join(
            os.path.dirname(__file__),
            'README.rst'
        )
    ).read(),
    packages=setuptools.find_packages(),
    include_package_data = True,
    author='xxx',
    author_email='xxxxxxxx.com',
)

3. 打包过程一般是默认只打包py文件的,因此要想一并打包非py文件,需要在setup.py里加入include_package_data = True这句话和MANIFEST.in文件,MANIFEST.in文件的设置如下:

include demo/data/buildings_selector.h5

我的这里README.rst文件内容是空的。
4.一切准备就绪,我使用的是pycharm哈,打开pycharm下面的终端
在这里插入图片描述

在项目路径(打开terminal默认就是,我的在这里是bse_sdk路径)下,执行如下命令进行打包:

python setup.py bdist_wheel

运行过后刷新文件夹,会出现三个新的文件,具体如下:
在这里插入图片描述
打开disk就能看到打包好的.whl文件了,直接在命令行键入pip命令即可安装。
在这里插入图片描述
新开个工程引入就可以使用了。

from demo import bcover

5. 调用方拿到whl包以后直接用如下命令即可安装:

pip install xxxxx.whl

PS:
打包好sdk进行使用的时候,提示

OSError: SavedModel file does not exist at: buildings_selector.h5/{saved_model.h5/{saved_model.pbtxt|saved_model.pb}

上面项目中我使用了一个.h5文件,为了无论何时无论何地都能定位到该文件,我使用了如下代码去找他的绝对路径,危机解除。
在这里插入图片描述

参考博客
参考博客

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值