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的加密模块md5、sha、crypt使用实例
Sep 28 Python
Python的Flask框架中@app.route的用法教程
Mar 31 Python
使用Node.js和Socket.IO扩展Django的实时处理功能
Apr 20 Python
星球大战与Python之间的那些事
Jan 07 Python
使用python获取电脑的磁盘信息方法
Nov 01 Python
python sqlite的Row对象操作示例
Sep 11 Python
wxPython实现整点报时
Nov 18 Python
Python3 hashlib密码散列算法原理详解
Mar 30 Python
使用Python FastAPI构建Web服务的实现
Jun 08 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
Jun 10 Python
Python hashlib模块的使用示例
Oct 09 Python
Python爬虫之爬取哔哩哔哩热门视频排行榜
Apr 28 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代码
2008/09/10 PHP
php中获取主机名、协议及IP地址的方法
2014/11/18 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
js自定义事件及事件交互原理概述(一)
2013/02/01 Javascript
javascript 使用 NodeList需要注意的问题
2013/03/04 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
详解vue-cli本地环境API代理设置和解决跨域
2017/09/05 Javascript
微信小程序中setInterval的使用方法
2017/09/29 Javascript
JS实现网页抢购功能(触发,终止脚本)
2017/11/27 Javascript
vue 点击按钮增加一行的方法
2018/09/07 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
2019/04/29 Javascript
JS+CSS实现随机点名(实例代码)
2019/11/04 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
vue 封装面包屑组件教程
2020/11/16 Javascript
JS常用跨域方法实现原理解析
2020/12/09 Javascript
Python获取文件所在目录和文件名的方法
2017/01/12 Python
Python 从一个文件中调用另一个文件的类方法
2019/01/10 Python
对Python3之方法的覆盖与super函数详解
2019/06/26 Python
Python split() 函数拆分字符串将字符串转化为列的方法
2019/07/16 Python
python定位xpath 节点位置的方法
2019/08/27 Python
python中matplotlib条件背景颜色的实现
2019/09/02 Python
pytorch 实现打印模型的参数值
2019/12/30 Python
Python排序函数的使用方法详解
2020/12/11 Python
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
美国顶级品牌男士大码服装店:DXL
2017/08/30 全球购物
出国留学自荐信
2013/10/25 职场文书
寒假家长评语大全
2014/04/16 职场文书
扬尘污染防治方案
2014/06/15 职场文书
公司客户答谢酒会祝酒词
2015/08/11 职场文书
军训决心书范文
2015/09/22 职场文书
商业计划书之服装
2019/09/09 职场文书
MySQL 分页查询的优化技巧
2021/05/12 MySQL
利用js实现简单开关灯代码
2021/11/23 Javascript