Python 包管理

本文介绍了Python的包管理,包括为何使用包管理、主要工貝如distutils、setuptools、pip和wheel的介绍及其功能。详细讲解了如何使用setup.py进行打包,以及build、install、sdist、bdist和wheel命令的用途。还提到了Python包的发布和安全注意事项。
摘要由CSDN通过智能技术生成

Python 中的包管理


为什么使用包管理

  • Python 的模块或者源文件直接可以复制到目标目录中, 就可以使用

  • 为了更多项目调用使用或者共享给别人, 就需要打包发布到网络, 以便供人使用, 当然目的也是为了复用

Pypi (Python Package Index), 公共的模块存储中心 : https://pypi.org/

主要工具

distutils

  • 官方库 distutils, 使用安装脚本setup.py 来构建, 安装包
  • 从1998年就是标准库的一部分, 直到2000年停止开发

setuptools

  • 它是替代distutils 的增强工具集, 包含easy_install 工具, 使用ez_setup.py 文件
  • 支持egg 格式的构建和安装, 提供查询、下载、安装、构建、发布、管理等包管理功能
  • setuptools 是包管理的核心模块

后来, setuptools 开发缓慢, 出现基于setuptools 的distriubute 来代替setuptools, 直到2013年这两个项目重新合并, distribute被废弃, setuptools 依然是Python 安装打包的标准

pip

  • pip 目前包管理的事实标准
  • 构建在setuptools 智商, 代替了easy_install, 同样提供了丰富的包管理功能
  • Pyhton 3.4之前, 需要单独安装, 从Python 3.4之后开始直接包含在安装文件中

wheel

  • wheel 格式定义在PEP 427 中

  • wheel 文件中不包含.pyc 文件

  • 提供bdist_wheel 作为setuptools 的扩展命令, 这个命令可以用来生成新的打包格式wheel

  • pip 从1.4 版本开始提供了一个wheel 子命令来安装wheel包, 当然需要先安装wheel 模块, 让Pyhton 库以二进制形式安装, 而不需要本地编译

使用 setup.py 打包

首先, 在项目根目录下构建一个setup.py 文件, setup.py如下 :

from
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值