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 相关文章推荐
Django框架中处理URLconf中特定的URL的方法
Jul 20 Python
浅谈Python的异常处理
Jun 19 Python
Python编程之序列操作实例详解
Jul 22 Python
python使用logging模块发送邮件代码示例
Jan 18 Python
详解【python】str与json类型转换
Apr 29 Python
python中多个装饰器的调用顺序详解
Jul 16 Python
python字符串分割及字符串的一些常规方法
Jul 24 Python
Django 1.10以上版本 url 配置注意事项详解
Aug 05 Python
在django模板中实现超链接配置
Aug 21 Python
python保存log日志,实现用log日志画图
Dec 24 Python
浅谈Python的方法解析顺序(MRO)
Mar 05 Python
PyTorch 中的傅里叶卷积实现示例
Dec 11 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封装的smarty类完整实例
2016/10/19 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
自己动手开发jQuery插件教程
2011/08/25 Javascript
javascript 中String.match()与RegExp.exec()的区别说明
2013/01/10 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
深入理解Vuex 模块化(module)
2017/09/26 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
2018/01/17 Javascript
Vue仿今日头条实例详解
2018/02/06 Javascript
实战node静态文件服务器的示例代码
2018/03/08 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
使用JQuery自动完成插件Auto Complete详解
2019/06/18 jQuery
在Layui 的表格模板中,实现layer父页面和子页面传值交互的方法
2019/09/10 Javascript
Vue+Node实现的商城用户管理功能示例
2019/12/23 Javascript
js中switch语句的学习笔记
2020/03/25 Javascript
Python 字符串操作实现代码(截取/替换/查找/分割)
2013/06/08 Python
python和pyqt实现360的CLable控件
2014/02/21 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
python中set()函数简介及实例解析
2018/01/09 Python
Python 机器学习库 NumPy入门教程
2018/04/19 Python
Python 读取某个目录下所有的文件实例
2018/06/23 Python
详解Python requests 超时和重试的方法
2018/12/18 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
python实现代码统计程序
2019/09/19 Python
python 实现二维字典的键值合并等函数
2019/12/06 Python
python中if及if-else如何使用
2020/06/02 Python
通过代码简单了解django model序列化作用
2020/11/12 Python
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
100%有机精油,美容油:House of Pure Essence
2018/10/30 全球购物
JAVA和C++的区别
2013/10/06 面试题
土木工程毕业生自荐信
2013/09/21 职场文书
热血教师观后感
2015/06/10 职场文书
职场中的你,辞职信写对了吗?
2019/06/26 职场文书
React实现动效弹窗组件
2021/06/21 Javascript