每日一模塊-python SDK打包教程


當我們自認為有點水准了,想炫耀下自己python神技時,怎么辦,讓別人使用你寫的包,其中一種方法就是將封裝好的能力打包成一個sdk供他們去調用!👌,不讓世人知道本大俠的NB,怎么對得起自己呢,( ̄▽ ̄)"^^^^^^^

打包操作

  1. 創建打包目錄結構,如下圖

├─python-sdk
│  │  README.md
│  │  setup.py
│  └─MyLog
      |  my_log.py
      │  __init__.py
|
# 目錄說明
python-sdk   代表的是sdk根目錄
README.md    介紹本sdk的使用方法及sdk的能力
setup.py     用於打完包后,調用者要使用該文件進行安裝sdk到自己的python環境中
my_log       是您所提供能力的封裝

# 本樣例中的__init__.py 文件內容是我封裝好的日志類,內容如下
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# DevVersion: Python3.6.8
# Date: 2020-09-25 09:04
# PyCharm|__init__.py

from MyLog.my_log import LogMiddleware

  1. 在setup.py文件中配置之后安裝你的包,如本例MyLog
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# DevVersion: Python3.6.8
# Date: 2020-09-25 09:13
# PyCharm|setup

from setuptools import (setup, find_packages)

setup(
    # 包名
    name="MyLog",
    # 版本
    version="0.1",
    # github地址[我學習的樣例地址]
    url='https://github.com/snowroll/python-sdk.git',
    # 包的解釋地址
    long_description=open('ReadMe.md', encoding='utf-8').read(),
    # 需要包含的子包列表
    packages=find_packages()
)
'''
name 包的名字
version 依賴關系很重要
packages 需要包含的子包列表,用find_packages()查找
url:包的鏈接,通常為 Github 上的鏈接,或者是 readthedocs 鏈接
setup_requires:指定依賴項
test_suite:測試時運行的工具
'''

  1. 安裝工具包用於完成python的打包
# 一般默認來說這個包在我們創建工程時默認都會裝好
pip install setuptools
  1. 開始您的第一個打包操作吧
python setup.py bdist_egg

# 會生成build、demo.egg-info 、dist三個目錄

調用sdk

  1. 將需要用到上面sdk的工程中,解壓該sdk並復制到您的工程中
  2. 切換到setup.py文件目錄下即sdk的根目錄,然后像安裝離線包一樣,執行命令python setup.py install 安裝MyLog包
  3. 調用該包
import MyLog
logger = MyLog.LogMiddleware(app_name="test_app", log_when="S", log_dir_path=os.path.dirname(os.path.abspath(__file__)))

遺留問題

  1. 導入該包,使用起來沒有問題,但pycharm導包飄紅警告,且無法點擊進入包內

歡迎來公眾號一起探討python技巧和理財的知識


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM