请必须观看的文章,下面文字仅供参考:note:可以打包成.egg也可以打包成.whl使用的打包方法不一样。具体参考上面链接。打包成.whl文件以后直接发送给其他人.whl文件即可(在linux和windows都可以使用),然后执行pip install xxxxx.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

一个简单的项目示例。https://github.com/snowroll/python-sdk.git

目录结构

├─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 = 'https://github.com/snowroll/python-sdk.git',
	long_description = open('README.md').read(),
	packages = find_packages(),
)

从setuptools中导入setup和findpackages,各参数的含义如下:

name:               包的名字
version:            版本号,对保持适当的依赖关系很重要
packages:           需要包含的子包列表,用find_packages()查找
url:               包的链接,通常为 Github 上的链接,或者是 readthedocs 链接
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()
simple sdk demo

 

Logo

更多推荐