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协程相关概念
Jan 20 Python
python对离散变量的one-hot编码方法
Jul 11 Python
Python文件读写保存操作的示例代码
Sep 14 Python
Python进阶之自定义对象实现切片功能
Jan 07 Python
详解python读取和输出到txt
Mar 29 Python
python进程间通信Queue工作过程详解
Nov 01 Python
Python装饰器实现方法及应用场景详解
Mar 26 Python
OpenCV+python实现膨胀和腐蚀的示例
Dec 21 Python
Python将QQ聊天记录生成词云的示例代码
Feb 10 Python
利用python做表格数据处理
Apr 13 Python
Python Django框架介绍之模板标签及模板的继承
May 27 Python
python自动化测试之Selenium详解
Mar 13 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
smarty 原来也不过如此~~呵呵
2006/11/25 PHP
php生成gif动画的方法
2015/11/05 PHP
实例说明js脚本语言和php脚本语言的区别
2019/04/04 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
JavaScript数值转换的三种方式总结
2014/07/31 Javascript
jQuery使用$.get()方法从服务器文件载入数据实例
2015/03/25 Javascript
jQuery中通过ajax的get()函数读取页面的方法
2016/02/29 Javascript
AngularJS递归指令实现Tree View效果示例
2016/11/07 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
2018/04/22 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
2020/05/23 Javascript
在GitHub Pages上使用Pelican搭建博客的教程
2015/04/25 Python
Python闭包的两个注意事项(推荐)
2017/03/20 Python
深入学习Python中的上下文管理器与else块
2017/08/27 Python
200 行python 代码实现 2048 游戏
2018/01/12 Python
python与字符编码问题
2019/05/24 Python
Python 常用模块 re 使用方法详解
2019/06/06 Python
wxpython多线程防假死与线程间传递消息实例详解
2019/12/13 Python
Python实现密钥密码(加解密)实例详解
2020/04/26 Python
Pycharm打开已有项目配置python环境的方法
2020/07/03 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
详解快速开发基于 HTML5 网络拓扑图应用
2018/01/08 HTML / CSS
戴尔加拿大官网:Dell加拿大
2016/09/17 全球购物
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
戴森英国官网:Dyson英国
2019/05/07 全球购物
优秀幼教自荐信
2014/02/03 职场文书
教师师德师风整改措施
2014/10/24 职场文书
会计工作岗位职责
2015/02/03 职场文书
教师考核表个人总结
2015/02/12 职场文书
2016关于预防职务犯罪的心得体会
2016/01/21 职场文书
私人贷款担保书该怎么写呢?
2019/07/02 职场文书
python接口测试返回数据为字典取值方式
2022/02/12 Python
python opencv将多个图放在一个窗口的实例详解
2022/02/28 Python
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android