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使用urllib模块和pyquery实现阿里巴巴排名查询
Jan 16 Python
python中enumerate函数遍历元素用法分析
Mar 11 Python
Python基于select实现的socket服务器
Apr 13 Python
python matlibplot绘制多条曲线图
Feb 19 Python
Python 中包/模块的 `import` 操作代码
Apr 22 Python
python微信撤回监测代码
Apr 29 Python
python爬虫 爬取超清壁纸代码实例
Aug 16 Python
Python中turtle库的使用实例
Sep 09 Python
使用Python和百度语音识别生成视频字幕的实现
Apr 09 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
Jun 18 Python
python 进程池pool使用详解
Oct 15 Python
python_tkinter弹出对话框创建
Mar 20 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_xmlhttp 乱码问题解决方法
2009/08/07 PHP
ezSQL PHP数据库操作类库
2010/05/16 PHP
PHP中调用ASP.NET的WebService的代码
2011/04/22 PHP
PHP Web木马扫描器代码分享
2015/09/06 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
php微信开发之批量生成带参数的二维码
2016/06/26 PHP
setInterval 和 setTimeout会产生内存溢出
2008/02/15 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
2011/09/05 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
JS给超链接加确认对话框的方法
2015/02/24 Javascript
整理Javascript流程控制语句学习笔记
2015/11/29 Javascript
JavaScript缓冲运动实现方法(2则示例)
2016/01/08 Javascript
浅谈JavaScript的全局变量与局部变量
2016/06/10 Javascript
javascript鼠标滑过显示二级菜单特效
2020/11/18 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
js实现仿购物车加减效果
2017/03/01 Javascript
AngularJS使用拦截器实现的loading功能完整实例
2017/05/17 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
js 事件的传播机制(实例讲解)
2017/07/20 Javascript
详解vue 数据传递的方法
2018/04/19 Javascript
微信小程序实现上传图片功能
2018/05/28 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
VUE DEMO之模拟登录个人中心页面之间数据传值实例
2019/10/31 Javascript
uni-app 组件里面获取元素宽高的实现
2019/12/27 Javascript
[02:50]【扭转乾坤,只此一招】DOTA2永雾林渊版本开启新篇章
2020/12/22 DOTA
Python变量类型知识点总结
2019/02/18 Python
基于python实现百度翻译功能
2019/05/09 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
美国Rue La La闪购网站:奢侈品、中高档品牌限时折扣
2016/10/19 全球购物
施工资料员岗位职责
2014/01/06 职场文书
初中科学教学反思
2014/01/21 职场文书
银行职员个人的工作自我评价
2014/02/15 职场文书
《平移和旋转》教学反思
2016/02/19 职场文书
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android