将 SDK 发布到 PIP | BSN 联盟链开发(四)

发布 ~

> **系列索引:** [上链与背后的流程 | 联盟链开发(一)](https://learnblockchain.cn/article/358) [动手编 SDK | 联盟链开发(二)](https://learnblockchain.cn/article/359) [SDK 1.0 版本的打造 | 联盟链开发(三)](https://learnblockchain.cn/article/380) [将 SDK 发布到 PIP | 联盟链开发(四)](https://learnblockchain.cn/article/385) [什么样的数据应该上链?| 联盟链开发 (五)](https://learnblockchain.cn/article/557) [BSN 相关问与答 | 联盟链开发(六)](https://learnblockchain.cn/article/683) [链上简历应用 — 设计 | 联盟链开发(七)](https://learnblockchain.cn/article/684) [FISCO BCOS 介绍 | 联盟链开发(八)](https://learnblockchain.cn/article/692) [WeIdentity 极速体验 | 联盟链开发(九)](https://learnblockchain.cn/article/1094) [给Remix升个级 | 联盟链开发(十)](https://learnblockchain.cn/article/984) [伪代码简述 ECDSA 签名过程 | 联盟链开发(十一)](https://learnblockchain.cn/article/1038) [WeIdentity 的多签及限量凭证的实现 | 联盟链开发(十二)](https://learnblockchain.cn/article/1285) --- 这次我们要做的事,是将写好的 SDK 发布到 PyPI (PIP) 上,以便大家更好的使用。 **有需要的同学可以通过`pip`进行 SDK 的安装:** `pip3 install bsn-sdk` **通过如下链接查看如何使用:** > https://github.com/leeduckgo/bsn_py_sdk --- ## 1 README.md 首先我们需要一个帮助文档,里面包含几个要素: - 项目名称 - 一段话简述功能 - 安装指南 - 一个简单的例子 - 未来计划 Example: https://github.com/leeduckgo/bsn_py_sdk/blob/master/README.md ## 2 setup.py 然后我们写一个`setup.py`,包含我们这个包中必要的信息: ```python from setuptools import setup, find_packages # read the contents of your README file from os import path this_directory = path.abspath(path.dirname(__file__)) with open(path.join(this_directory, 'README.md'), encoding='utf-8') as f: long_description = f.read() setup( # 以下为必需参数 name='bsn-sdk', # 模块名 version='0.1.3', # 当前版本 description='SDK for BSN(Blockchain Service Network)', # 简短描述 packages=['bsn_sdk','bsn_sdk.common'], # 单文件模块写法 install_requires=['certifi','requests', 'cryptography', 'fabric-sdk-py'], # ckages=find_packages(exclude=['contrib', 'docs', 'tests']), # 多文件模块写法 # 以下均为可选参数 long_description=long_description, long_description_content_type="text/markdown", url='https://github.com/leeduckgo/bsn_py_sdk', # 主页链接 author='李大狗Leeduckgo@SUIBE', # 作者名 author_email='leeduckgo@gmail.com', # 作者邮箱 classifiers=[ 'Intended Audience :: Developers', # 模块适用人群 'License :: OSI Approved :: MIT License' # 模块的license ], keywords='blockchain bsn', # 模块的关键词,使用空格分割 ) ``` > 文件见: > > https://github.com/leeduckgo/bsn_py_sdk/blob/master/setup.py 重点是的`package`和`install_requires`两项——我们通过`packages`指定具体有哪些文件/文件夹包含在这个包中,通过`install_requires`指定这个包又有哪些依赖。 ## 3 打包项目 ```python pip install wheel # 安装wheel模块 python setup.py sdist # 生成源码包 ``` 此时如果成功的话会在根目录下生产一个叫做`dist`的文件夹,里面包含生成的源码包: ![sdk.png](https://learnblockchain.cn/image/show/attachments-2020-01-wiATVrOl5e2a63435e958.png) ## 4 上传 在 PyPI 注册账户: https://pypi.org/account/register/ 安装上传所需模块: ```python pip3 install twine ``` 上传: ```python twine upload dist/bsn-sdk-0.1.3.tar.gz # 上传源码包 ``` 会提示你输入账户和密码,输入你在 PyPI 注册时填写的信息即可。 ## 5 查看 然后我们登陆 PyPI,就能看到我们发布的包啦。 ![sdk_pypi.png](https://learnblockchain.cn/image/show/attachments-2020-01-rKDorkbV5e2a63517fb84.png) 点击`View`: ![sdk_pypi_info.png](https://learnblockchain.cn/image/show/attachments-2020-01-Z2QZvRkU5e2a63596cd06.png) ## 6 测试与修正 接下来我们可以用`pip`来进行包的安装测试一下。 如果在这个过程中发现什么问题,那么修改版本号,按照 2-4 的步骤发布新的版本。 如果有必要,可以进 Manage 页面把以前的包删掉: ![sdk_pypi_manage.png](https://learnblockchain.cn/image/show/attachments-2020-01-tlx89l0g5e2a63660ff90.png) --- 发布 SDK 的流程到此就阐述完毕了。欢迎老铁 STAR 我的 REPO ━(*`∀´*)ノ: **仓库链接:** https://github.com/leeduckgo/bsn_py_sdk --- ![.jpeg](https://learnblockchain.cn/image/show/attachments-2020-01-9t2XfNKQ5e2a63801f570.jpeg)

系列索引: 上链与背后的流程 | 联盟链开发(一) 动手编 SDK | 联盟链开发(二) SDK 1.0 版本的打造 | 联盟链开发(三) 将 SDK 发布到 PIP | 联盟链开发(四) 什么样的数据应该上链?| 联盟链开发 (五) BSN 相关问与答 | 联盟链开发(六) 链上简历应用 — 设计 | 联盟链开发(七) FISCO BCOS 介绍 | 联盟链开发(八) WeIdentity 极速体验 | 联盟链开发(九) 给Remix升个级 | 联盟链开发(十) 伪代码简述 ECDSA 签名过程 | 联盟链开发(十一) WeIdentity 的多签及限量凭证的实现 | 联盟链开发(十二)

这次我们要做的事,是将写好的 SDK 发布到 PyPI (PIP) 上,以便大家更好的使用。

有需要的同学可以通过pip进行 SDK 的安装:

pip3 install bsn-sdk

通过如下链接查看如何使用:

https://github.com/leeduckgo/bsn_py_sdk

1 README.md

首先我们需要一个帮助文档,里面包含几个要素:

  • 项目名称
  • 一段话简述功能
  • 安装指南
  • 一个简单的例子
  • 未来计划

Example:

https://github.com/leeduckgo/bsn_py_sdk/blob/master/README.md

2 setup.py

然后我们写一个setup.py,包含我们这个包中必要的信息:

from setuptools import setup, find_packages
# read the contents of your README file
from os import path
this_directory = path.abspath(path.dirname(__file__))
with open(path.join(this_directory, 'README.md'), encoding='utf-8') as f:
    long_description = f.read()
setup(
    # 以下为必需参数
    name='bsn-sdk',  # 模块名
    version='0.1.3',  # 当前版本
    description='SDK for BSN(Blockchain Service Network)',  # 简短描述
    packages=['bsn_sdk','bsn_sdk.common'], # 单文件模块写法
    install_requires=['certifi','requests', 'cryptography', 'fabric-sdk-py'],
    # ckages=find_packages(exclude=['contrib', 'docs', 'tests']),  # 多文件模块写法

    # 以下均为可选参数
    long_description=long_description,
    long_description_content_type="text/markdown",
    url='https://github.com/leeduckgo/bsn_py_sdk', # 主页链接
    author='李大狗Leeduckgo@SUIBE', # 作者名
    author_email='leeduckgo@gmail.com', # 作者邮箱
    classifiers=[
        'Intended Audience :: Developers', # 模块适用人群
        'License :: OSI Approved :: MIT License' # 模块的license
        ],
    keywords='blockchain bsn',  # 模块的关键词,使用空格分割
    )

文件见:

https://github.com/leeduckgo/bsn_py_sdk/blob/master/setup.py

重点是的packageinstall_requires两项——我们通过packages指定具体有哪些文件/文件夹包含在这个包中,通过install_requires指定这个包又有哪些依赖。

3 打包项目

pip install wheel # 安装wheel模块
python setup.py sdist  # 生成源码包

此时如果成功的话会在根目录下生产一个叫做dist的文件夹,里面包含生成的源码包:

4 上传

在 PyPI 注册账户:

https://pypi.org/account/register/

安装上传所需模块:

pip3 install twine

上传:

twine upload dist/bsn-sdk-0.1.3.tar.gz # 上传源码包

会提示你输入账户和密码,输入你在 PyPI 注册时填写的信息即可。

5 查看

然后我们登陆 PyPI,就能看到我们发布的包啦。

点击View

6 测试与修正

接下来我们可以用pip来进行包的安装测试一下。

如果在这个过程中发现什么问题,那么修改版本号,按照 2-4 的步骤发布新的版本。

如果有必要,可以进 Manage 页面把以前的包删掉:

发布 SDK 的流程到此就阐述完毕了。欢迎老铁 STAR 我的 REPO ━(`∀´)ノ:

仓库链接: https://github.com/leeduckgo/bsn_py_sdk

区块链技术网。

  • 发表于 2020-01-24 11:19
  • 阅读 ( 1373 )
  • 学分 ( 37 )
  • 分类:BSN

评论