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中使用pngquant压缩png图片的教程
Apr 09 Python
Python编写一个优美的下载器
Apr 15 Python
Python3实现的简单三级菜单功能示例
Mar 12 Python
详解python中的线程与线程池
May 10 Python
python3中类的继承以及self和super的区别详解
Jun 26 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
Jan 25 Python
Python的in,is和id函数代码实例
Apr 18 Python
Django数据结果集序列化并展示实现过程
Apr 22 Python
Pycharm安装并配置jupyter notebook的实现
May 18 Python
利用python中的matplotlib打印混淆矩阵实例
Jun 16 Python
Python实现Kerberos用户的增删改查操作
Dec 14 Python
python 如何获取页面所有a标签下href的值
May 06 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 一元分词算法
2009/11/30 PHP
php数据结构与算法(PHP描述) 查找与二分法查找
2012/06/21 PHP
利用PHP生成静态html页面的原理
2016/09/30 PHP
php将文件夹打包成zip文件的简单实现方法
2016/10/04 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
js中单引号与双引号冲突问题解决方法
2013/10/04 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
2014/05/08 Javascript
Javascript封装DOMContentLoaded事件实例
2014/06/12 Javascript
javascript css红色经典选项卡效果实现代码
2016/05/17 Javascript
使用jQuery实现简单的tab框实例
2017/08/22 jQuery
vue+vuex+axios实现登录、注册页权限拦截
2018/03/09 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
2019/08/26 Javascript
VUE.js实现动态设置输入框disabled属性
2019/10/28 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
2020/07/24 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
Python多维/嵌套字典数据无限遍历的实现
2016/11/04 Python
python 按不同维度求和,最值,均值的实例
2018/06/28 Python
python中map的基本用法示例
2018/09/10 Python
python用插值法绘制平滑曲线
2021/02/19 Python
PyQt5实现简单数据标注工具
2019/03/18 Python
python实现差分隐私Laplace机制详解
2019/11/25 Python
python实现打砖块游戏
2020/02/25 Python
Python实现UDP程序通信过程图解
2020/05/15 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
HTML5 canvas实现移动端上传头像拖拽裁剪效果
2016/03/14 HTML / CSS
阿拉伯时尚购物网站:Nisnass
2021/02/07 全球购物
建筑安全生产目标责任书
2014/07/23 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
教师廉洁自律个人总结
2015/02/10 职场文书
大学学生会辞职信
2015/05/13 职场文书
东京审判观后感
2015/06/01 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
2016党员干部政治学习心得体会
2016/01/23 职场文书
在ubuntu下安装go开发环境的全过程
2022/08/05 Golang