美文网首页
python包构建

python包构建

作者: 黑曼巴yk | 来源:发表于2019-12-18 15:28 被阅读0次

    setuptools 和setup.py

    setuptools主要用户编译,分发和安装python包的一个工具,特别在包依赖的场景非常有用。setup.py脚本主要作用于向包管理工具setuptools说明你的模块分发细节,所以setuptools支持大量命令以操作你的包。setup脚本主要调用一个setup()方法,许多提供给setuptools的信息都以key value参数形式提供给setup()方法。

    你所需要做的事

    对于包开发和和使用者,所需要的做的事情:

    • 编写setup.py脚本,用户处理你的包
    • (可选)编写setup配置文件
    • 创建源码分发文件 python setup.py bdist

    基础概念

    • module模块: module是python 中代码重用的基本丹云单元,一个module可以通过import语句导入到另外一个module;module分为pure python module(纯python模块),extension module(扩展模块)和package(包)
    • pure python module: 纯python模块是使用python语言编写的模块,单一的.py文件作为一个模块使用,也就是一个.py可以称为模块了
    • extension module: 扩展模块是用底层的 C/C++、Objective-C或 Java 编写的模块,通常包含了一个动态链接库,比如 so、dll 或 Java,目前 distutils 只支持 C/C++ 和 Objective-C,不支持 Java 编写扩展模块;但是 python 提供了一个 JCC 这样一个用于生成访问 Java 类接口的 C++ 代码的胶水模块,应该也是可以使用 Java 编写模块的
    • package: 包是一个带有 init.py 文件的文件夹,用于包含其他模块
    • root package: root package 是包的最顶层,它不是实质性的包,因为它不包含 init.py 文件。大量的标准库位于 root package,因为它们不属于一个任何更大的模块集合了。实际上,每一个 sys.path 列举出来的文件夹都是 root package,你可以在这些文件夹中找到大量的模块
    • distribution: 模块分发,一个归档一起的python模块集合,他作为一个可下载安装的资源,方便用户使用,作为开发者便需要努力创建一个易于使用的distribution
    • distribution root: 源代码树的最顶层, 也就是setup.py所在的位置

    源码分发文件和二进制分发文件

    源码分发文件比二进制分发文件更适合跨平台,这样使用者可以在自己机器编译

    相关文章

      网友评论

          本文标题:python包构建

          本文链接:https://www.haomeiwen.com/subject/nyhunctx.html