python SDK包 打包和安裝

2021-09-26 14:27:45 字數 1820 閱讀 3724

請必須**的文章,下面文字僅供參考:note:可以打包成.egg也可以打包成.whl使用的打包方法不一樣。具體參考上面鏈結。打包成.whl檔案以後直接傳送給其他人.whl檔案即可(在linux和windows都可以使用),然後執行pip install ***xx.whl安裝就可以呼叫了。

note:在打包whl時候,若想打包成sdk,先在和demo資料夾同父資料夾下新增4個必要檔案:setup.py, setup.cfg(這是乙個空檔案), readme.md, manifest.in。缺一不可。

最重要的是,在自己想要打包的文件下面必須要有乙個__init__.py檔案,空的也可以,否則即使打包成功,pip安裝以後也調不到包。(可以去sitepackge下面看安裝的包是否有兩個檔案xx.info 、xx,如果缺少xx則說明打包前的包下面缺少__init__.py)

在構建包的內容的時候,切記每隔資料夾下必須有__init__.py檔案否則不能import。包內互相呼叫的時候可以借助報名進行呼叫,例如ttt包,from ttt.p1 import p1。詳細可參考pip 下來的庫。setup中name:是.info檔案的名字,應該與包名一致

下面可以不看

1.先安裝pip install python-setuptools(一般情況下安裝pip之前都已經安裝了)

2.封裝專案的api

乙個簡單的專案示例。

目錄結構

├─python-sdk

│  │  readme.md

│  │  setup.py

│  └─demo

│          __init__.py

demo/__init__.py中只有乙個輸出函式demo(),這裡可以自行封裝自己的api

3.編寫setup.py檔案,用於安裝demo包

#!/usr/bin/env python

#-*- coding:utf-8 -*-

from setuptools import setup, find_packages

setup(

name = "demo",

version = "0.1",

url = '',

long_description = open('readme.md').read(),

packages = find_packages(),

)

從setuptools中匯入setup和findpackages,各引數的含義如下:

name:               包的名字

version: 版本號,對保持適當的依賴關係很重要

packages: 需要包含的子包列表,用find_packages()查詢

long_description: 將說明檔案設定為readme.md

4. 建立乙個簡單的包

執行python setup.py bdist_egg即可打包乙個demo的包,看一下生成的.egg檔案,是個zip包,解開看看先  unzip -l dist/ssdk-0.1-py2.7.egg

會生成build、demo.egg-info 、dist三個目錄,將python-sdk目錄打包,發給呼叫方

5. 安裝和使用sdk

解壓進入該目錄下,執行 python setup.py install 安裝demo包。

之後開啟python命令列,嘗試呼叫demo包

>>> import demo

>>> demo.demo()

****** sdk demo

linux deb安裝包打包

1 目錄結構 以tomcat舉例 2 常用配置 control檔案 control 這個檔案主要描述軟體包的名稱 package 版本 version installed size 大小 maintainer 打包人 和 以及描述 description 等,是deb包必須具備的描述性檔案,以便於軟...

php pear包打包方法

二 在臨時目錄下,建立相關目錄 mkdir pv tmp 三 建立package.ini檔案 chmod a x onion onion init package.ini 內容如下 三 將 解壓至臨時目錄src下,並刪除原來的package.xml檔案 tar zxvf xywyservice 0....

Unity資源打包 打包分析

遊戲立項中重要的一件事就是制定資源存放規則 資源使用規則,然後再談打包規則。較好的分類是乙個清晰 清爽愉悅的工作流,策劃 美術 程式之間溝通 使用更加方便快捷。存放規則根據團隊 個人喜好制定即可 1.1 分類 分類放置後,需要使用。unity的資源如何使用,涉及到如何打包以及如何載入的問題。使用pr...