python中setuptools的作用是什么


Posted in Python onJune 19, 2020

什么是setuptools

setuptools是Python distutils增强版的集合,它可以帮助我们更简单的创建和分发Python包,尤其是拥有依赖关系的。用户在使用setuptools创建的包时,并不需要已安装setuptools,只要一个启动模块即可。

功能亮点:

  • 利用EasyInstall自动查找、下载、安装、升级依赖包
  • 创建Python Eggs
  • 包含包目录内的数据文件
  • 自动包含包目录内的所有的包,而不用在setup.py中列举
  • 自动包含包内和发布有关的所有相关文件,而不是创建一个MANIFEST.in文件
  • 自动生成经过包装的脚本或Windows执行文件
  • 支持Pyrex,即在可以setup.py中列出.pyx文件,而最终用户无需安装Pyrex
  • 支持上传到PyPI
  • 可以部署开发模式,使项目在sys.path中
  • 用新命令或setup()参数扩展distutils,为多个项目发布/重用扩展
  • 在项目setup()中简单声明entry points,创建可以自动发现扩展的应用和框架

总之,setuptools就是比distutils好用的多,基本满足大型项目的安装和发布。

基础知识点扩展:

Python打包分发工具setuptools:曾经 Python 的分发工具是 distutils,但它无法定义包之间的依赖关系。setuptools 则是它的增强版,能帮助我们更好的创建和分发 Python 包,尤其是具有复杂依赖关系的包。

其通过添加一个基本的依赖系统以及许多相关功能,弥补了该缺陷。他还提供了自动包查询程序,用来自动获取包之间的依赖关系,并完成这些包的安装,大大降低了安装各种包的难度,使之更加方便,将程序打包以后可以可以安装到自己的虚拟环境中,也可以上传到PyPI,这样非常方便大项目开发。

到此这篇关于python中setuptools的作用是什么的文章就介绍到这了,更多相关python的setuptools是什么内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python过滤字符串中不属于指定集合中字符的类实例
Jun 30 Python
python编码最佳实践之总结
Feb 14 Python
python读写json文件的简单实现
Apr 11 Python
Python解惑之整数比较详解
Apr 24 Python
python实现媒体播放器功能
Feb 11 Python
pandas DataFrame 交集并集补集的实现
Jun 24 Python
Pytorch 实现自定义参数层的例子
Aug 17 Python
python KNN算法实现鸢尾花数据集分类
Oct 24 Python
Python装饰器使用你可能不知道的几种姿势
Oct 25 Python
Python上下文管理器全实例详解
Nov 12 Python
Python求正态分布曲线下面积实例
Nov 20 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
Jul 02 Python
python怎么判断模块安装完成
Jun 19 #Python
Keras SGD 随机梯度下降优化器参数设置方式
Jun 19 #Python
python支持多继承吗
Jun 19 #Python
python和php哪个容易学
Jun 19 #Python
基于Keras中Conv1D和Conv2D的区别说明
Jun 19 #Python
Python魔术方法专题
Jun 19 #Python
关于Theano和Tensorflow多GPU使用问题
Jun 19 #Python
You might like
PHP优于Node.js的五大理由分享
2012/09/15 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
利用PHP访问带有密码的Redis方法示例
2017/02/09 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
JavaScript 编程引入命名空间的方法
2007/06/29 Javascript
解析javascript 数组以及json元素的添加删除
2013/06/26 Javascript
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
2013/11/18 NodeJs
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
使用js画图之画切线
2015/01/12 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
微信小程序去哪里找 小程序到底如何使用(附小程序名单)
2017/01/09 Javascript
vue.js利用defineProperty实现数据的双向绑定
2017/04/28 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
2018/07/23 Javascript
js控制随机数生成概率代码实例
2019/03/21 Javascript
详解vue 组件注册
2020/11/20 Vue.js
JavaScript async/await原理及实例解析
2020/12/02 Javascript
python标准日志模块logging的使用方法
2013/11/01 Python
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
使用python实现链表操作
2018/01/26 Python
浅谈python3中input输入的使用
2019/08/02 Python
Mac安装python3的方法步骤
2019/08/09 Python
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
2020/02/21 Python
python GUI库图形界面开发之PyQt5布局控件QVBoxLayout详细使用方法与实例
2020/03/06 Python
Python类及获取对象属性方法解析
2020/06/15 Python
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
Python读取xlsx数据生成图标代码实例
2020/08/12 Python
LINUX下线程,GDI类的解释
2012/04/17 面试题
门卫班长岗位职责
2013/12/15 职场文书
银行办公室岗位职责
2014/03/10 职场文书
无财产离婚协议书范本
2014/10/28 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
工作经历证明范本
2015/06/15 职场文书
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL
Kubernetes关键组件与结构组成介绍
2022/03/31 Servers