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的模板中使用认证数据的方法
Jul 23 Python
python基础教程之匿名函数lambda
Jan 17 Python
Python学生成绩管理系统简洁版
Apr 05 Python
python 读取dicom文件,生成info.txt和raw文件的方法
Jan 24 Python
python如何给字典的键对应的值为字典项的字典赋值
Jul 05 Python
django项目用higcharts统计最近七天文章点击量
Aug 17 Python
Python高阶函数、常用内置函数用法实例分析
Dec 26 Python
pycharm工具连接mysql数据库失败问题
Apr 01 Python
Python urllib.request对象案例解析
May 11 Python
Python Tornado核心及相关原理详解
Jun 24 Python
jupyter使用自动补全和切换默认浏览器的方法
Nov 18 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
Jan 29 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
给多个地址发邮件的类
2006/10/09 PHP
php计算程序运行时间的简单例子分享
2014/05/10 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
PHP面向对象程序设计之接口用法
2014/08/20 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
2015/08/27 PHP
在jQuery中 关于json空对象筛选替换
2013/04/15 Javascript
jquery实现弹出层完美居中效果
2014/03/03 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
jQuery html()方法使用不了无法显示内容的问题
2014/08/06 Javascript
js怎么判断flash swf文件是否加载完毕
2014/08/14 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
简单理解vue中Props属性
2016/10/27 Javascript
js判断出两个字符串最大子串的函数实现方法
2016/11/01 Javascript
echart简介_动力节点Java学院整理
2017/08/11 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
python快速排序代码实例
2013/11/21 Python
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
Python3访问并下载网页内容的方法
2015/07/28 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
2020/04/08 Python
python interpolate插值实例
2020/07/06 Python
Python用dilb提取照片上人脸的示例
2020/10/26 Python
PUMA官方商城:世界领先的运动品牌之一
2016/11/16 全球购物
init进程的作用
2012/04/12 面试题
Linux上比较文件的命令都有哪些
2012/02/24 面试题
临床医学应届生求职信
2013/11/06 职场文书
民族精神月活动总结
2014/08/28 职场文书
党的群众路线教育实践活动实施方案
2014/10/31 职场文书
2014年维修工作总结
2014/11/22 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
人事局接收函
2015/01/31 职场文书
旷工辞退通知书
2015/04/17 职场文书
监护人证明
2015/06/19 职场文书
网络营销实训总结
2015/08/03 职场文书
Python连接Postgres/Mysql/Mongo数据库基本操作大全
2021/06/29 Python
win10拖拽文件时崩溃怎么解决?win10文件不能拖拽问题解决方法
2022/08/14 数码科技