python打包和发布(setuptools),whl包

python打包和发布(setuptools)

    参考文档

简介

通常我们开发一个Python开源项目,想在多台服务器上部署,或者贡献项目为其他开发者来使用,最好的方式是发布到PyPI(Python包管理平台) ,之后可以通过pip install package方式安装包,下面将介绍最基本的Python项目打包和发布的方法,其实目前有很多方法,您还可以通过访问官方打包文档来深入理解: 。

用来Python环境中构建和安装额外的模块,模块可以基于Python,也可以C/C++写的扩展模块,可以是python包,包中包含了C和Python编写的模块。setuptools是 Python Enterprise Application Kit(PEAK)的一个副项目,它是一组Python的 distutilsde工具的增强版(适用于 Python 2.3.5 以上的版本,64 位平台则适用于 Python 2.4 以上的版本),可以让程序员更方便的创建和发布 Python 包,特别是那些对其它包具有依赖性的状况。

打包

使用setuptools打包重点在于setup.py文件编写。

这里贴出我的目录结构:

我的setup.py文件:

from setuptools import setup

setup(
    name=Pokit,
    version=0.1.0,
    description=python toolkit,
    url=https://github.com/hu-jinwen/Pokit,
    author=hu-jinwen,
    author_email=hu-jinwen@outlook.com,
    license=MIT,
    keywords=python toolkit utils,
    packages=[pokit.utils, pokit.tools],
    install_requires=[pycrypto==2.6.1],
    python_requires=>=3
)

下面是对参数的一些解释:

加粗的表示必要、或者最好加上的

arg info name 为项目名称,和顶层目录名称一致。打包起来的包的文件名 version 版本号,为打包文件的后缀名 description 对项目的简短描述 url 项目的地址,比如我的就放在github上 license 遵守的开源协议 keywords 项目的关键字、标签 packages 包含项目中的哪些包(希望项目中哪些包打包时打入) data_files 打包时将哪些文件包括进去,例如:data_files=[ (“resources”, [“:/Transfer”]) ], install_requires 该项目依赖哪些第三方包, python_requires 该项目依赖的python版本

使用命令打包:

python setup.py bdist_wheel

发布

经验分享 程序员 微信小程序 职场和发展