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的Bottle框架中实现最基本的get和post的方法的教程
Apr 30 Python
Python中datetime模块参考手册
Jan 13 Python
python基于pyDes库实现des加密的方法
Apr 29 Python
利用Python暴力破解zip文件口令的方法详解
Dec 21 Python
Pycharm导入Python包,模块的图文教程
Jun 13 Python
Python3 关于pycharm自动导入包快捷设置的方法
Jan 16 Python
Django打印出在数据库中执行的语句问题
Jul 25 Python
浅析PyTorch中nn.Linear的使用
Aug 18 Python
TensorFlow自定义损失函数来预测商品销售量
Feb 05 Python
python中使用you-get库批量在线下载bilibili视频的教程
Mar 10 Python
python读取excel进行遍历/xlrd模块操作
Jul 12 Python
全网最详细的PyCharm+Anaconda的安装过程图解
Jan 25 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
浅谈json_encode用法
2015/03/05 PHP
Linux安装配置php环境的方法
2016/01/14 PHP
javascript 有趣而诡异的数组
2009/04/06 Javascript
最短的IE判断代码
2011/03/13 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
2012/12/21 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
2014/06/06 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
JavaScript实现标题栏文字轮播效果代码
2015/10/24 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
2015/12/17 Javascript
javascript实现根据汉字获取简拼
2016/09/25 Javascript
js获取指定字符前/后的字符串简单实例
2016/10/27 Javascript
sea.js常用的api简易文档
2016/11/15 Javascript
jQuery实现花式轮播之圣诞节礼物传送效果
2016/12/25 Javascript
前端 Vue.js 和 MVVM 详细介绍
2016/12/29 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
jquery.picsign图片标注组件实例详解
2018/02/02 jQuery
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
Openlayers学习之加载鹰眼控件
2020/09/28 Javascript
[04:22]DSPL第二期精彩集锦:残血反杀!
2014/12/10 DOTA
Python Queue模块详解
2014/11/30 Python
Python 实现随机数详解及实例代码
2017/04/15 Python
python读取和保存视频文件
2018/04/16 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
django 模版关闭转义方式
2020/05/14 Python
Paradox London官方网站:英国新娘鞋婚礼鞋品牌
2019/08/29 全球购物
夜大自我鉴定
2013/10/31 职场文书
缓刑人员的思想汇报
2014/01/11 职场文书
领导检查欢迎词
2014/01/14 职场文书
广告业务员岗位职责
2014/02/06 职场文书
经典洗发水广告词
2014/03/13 职场文书
竞选班干部演讲稿400字
2014/08/20 职场文书
大学生实训报告总结
2014/11/05 职场文书
店铺转让协议书
2014/12/02 职场文书
2015年远程教育工作总结
2015/05/20 职场文书