原文:http://www.educity.cn/wenda/356834.html

常见的包管理工具包括distutils,setuptools,pip,virtualenv。

一 、distutils -

Python自带的基本安装工具, 适用于非常简单的应用场景使用

  通过distutils来打包,生成安装包,安装python包等工作,需要编写名为setup.py python脚本文件。如下代码:

  from distutils.core import setup setup( name = "testpackage", version = "1.0", description = "Distutils sample distribution testpackage", packages = ['TestPackage'] )

  通过上述代码可以进行打包或生成安装文件,并能进行安装

  1.打包:python setup.py sdist

  2.安装:python setup.py install

  3.windows下安装文件exe(在windows下才能生效):python setup.py bdist_wininst

  4.linux下rpm安装文件(在有rpm环境下才能生效):python setup.py sdist_rpm

  进行打包,和生成Windows下可执行文件后,如下图所示:

  
生成了zip包和exe的可执行包,这时就可以通过解开zip包后用python setyp.py install来安装,或者在Windows下直接双击安装。安装完后会在%python_home%\Lib\site-packages下多出此安装包,你就可以爽爽地使用了。

二 、setuptools -

针对 distutils 做了大量扩展, 尤其是加入了包依赖机制。不支持python3,安装完setuptools后会有easy_install

三 、distribute -

类似于setuptools,支持python3,安装完distribute后会有easy_install。

四 、easy_install -

注:只用于安装包,不用于打包。

setuptools 和 distribute 自带的安装脚本, 也就是一旦setuptools或distribute安装完毕, easy_install 也便可用了在%python_home%\Scripts下会有对应的可执行文件,如easy_install.exe,最大的特点是自动查找 Python 官方维护的包源 PyPI , 安装第三方 Python 包非常方便。

  文档:

  easy_install 包名==版本号 安装第三方包

  easy_install --help 来查看命令详情

五、 pip -

注:只用于安装包,不用于打包。

目标是取代easy_install。easy_install 有很多不足: 安装事务是非原子操作, 只支持 svn, 没有提供卸载命令, 安装一系列包时需要写脚本; pip 解决了以上问题, 已俨然成为新的事实标准, virtualenv 与它已经成为一对好搭档;

  使用:

  安装: pip install [PACKAGE_NAME]  

  升级:pip install -U [PACKAGE_NAME]  

  卸载: pip uninstall [PACKAGE_NAME]

  查询包: pip search [PACKAGE_NAME]

  列出安装的包及其版本:pip freeze

  查看帮助:pip help

  通过使用==, >=, <=, >, <来指定一个版本号

  下载地址:通过python setup.py install来安装,通过pip --version来查看版本。

六、 virtualenv -

用来创建隔离的python环境,处理python环境的多版本和模块依赖。在默认安装下virtualenv安装的是setuptools而不是distribute,如果想安装distribute需要使用--distribute参数:python virtualenv.py --distribute。

  安装完后在python_home的scripts目录下有virtualenv.exe可执行文件,使用virtualenv mysite,创建新的python环境mysite,并且已有pip和easy_install。

  virtualenv [OPTIONS] DEST_DIR

  --version显示当前版本号。

  -h, --help显示帮助信息。

  -v, --verbose显示详细信息。

  -q, --quiet不显示详细信息。

  -p PYTHON_EXE, --python=PYTHON_EXE指定所用的python解析器的版本,比如 --python=python2.5 就使用2.5版本的解析器创建新的隔离环境。 默认使用的是当前系统安装(/usr/bin/python)的python解析器

  --clear清空非root用户的安装,并重头开始创建隔离环境。

  --no-site-packages令隔离环境不能访问系统全局的site-packages目录。

  --system-site-packages令隔离环境可以访问系统全局的site-packages目录。

  --unzip-setuptools安装时解压Setuptools或Distribute

  --relocatable重定位某个已存在的隔离环境。使用该选项将修正脚本并令所有.pth文件使用相当路径。

  --distribute使用Distribute代替Setuptools,也可设置环境变量VIRTUALENV_DISTRIBUTE达到同样效要。

  --extra-search-dir=SEARCH_DIRS用于查找setuptools/distribute/pip发布包的目录。可以添加任意数量的–extra-search-dir路径。

  --never-download禁止从网上下载任何数据。此时,如果在本地搜索发布包失败,virtualenv就会报错。

  --prompt==PROMPT定义隔离环境的命令行前缀。

总结:

disutils、setuptools、distribute属于一类,都是一组工具集,用于打包和安装包。

easy_install和pip属于一类,用于安装包,它在disutils的基础上增加了自动识别包依赖。

python包管理工具总结相关推荐

  1. Python包管理工具Distribute的安装

    Python包管理工具Distribute的安装 Python的包管理工具常见的有easy_install, setuptools, 还有pip, distribute,那麽这几个工具有什么关系呢,看 ...

  2. Pipenv – 超好用的 Python 包管理工具

    pipenv 是什么 pipenv 是 python 官方推荐的包管理工具,集成了 virtualenv.pyenv 和 pip 三者的功能于一身,类似于 php 中的 composer. 我们知道, ...

  3. Python 包管理工具解惑

    本文转载自http://zengrong.net/post/2169.htm,感谢原作者. 一.困惑 作为一个 Python 初学者,我在包管理上感到相当疑惑(嗯,是困惑).主要表现在下面几个方面: ...

  4. python 包管理工具poetry

    | python 包管理工具poetry的使用 poetry 是一个python管理虚拟环境和依赖的管理工具,poetry和pip 类似,另外还提供了打包和发布的功能. 官方文档 https://py ...

  5. 新一代 Python 包管理工具来了!

    作者:费弗里 来源:Python 大数据分析 " 阅读本文大概需要 4 分钟. " 1 简介 说起Python的包管理工具,大家第一时间想到的肯定是pip.conda等经典工具.但 ...

  6. linuxpip安装python包_Windows+Linux安装Python包管理工具pip

    Windows+Linux安装Python包管理工具pip Windows安装Python包管理工具pip pip是一个Python包管理工具,主要是用于安装PyPI上的软件包,可以替代easy_in ...

  7. python模块版本管理工具_【转】Python包管理工具

    Python 包管理工具解惑 本站文章除注明转载外,均为本站原创或者翻译. 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商: 本站部分原创和翻译文章提供m ...

  8. Pipenv – 超好用的 Python 包管理工具 1

    pipenv 是什么 pipenv 是 python 官方推荐的包管理工具,集成了 virtualenv.pyenv 和 pip 三者的功能于一身,类似于 php 中的 composer. 我们知道, ...

  9. Python包管理工具小结

    此文已由作者张耕源授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 作为一名接触Python有一段时间的初学者,越来越体会到Python的方便之处,它使人能更 多的关注业务本身 ...

  10. pip;python包管理工具

    pip;python包管理工具 http://blog.csdn.net/shanliangliuxing/article/details/10114911 转自:http://jiayanjujyj ...

最新文章

  1. 论文被拒,项目被砍?斯坦福「最惨」在读博士教你如何直面失败
  2. Kettle连接HiveServer2配置和常见问题解决
  3. 如何让word档在同一页上显示两列或更多列
  4. LiveVideoStackCon 2022 上海站 专题抢先看
  5. 购物车的功能——JS源码
  6. mailto 附带附件_为什么附带项目如此重要
  7. Java 算法 降价机器人
  8. Microsoft.System.Center.Operations.Manager.2007 中文版完整光盘下载地址
  9. [SOJ #538]好数 [CC]FAVNUM(2019-8-6考试)
  10. 01 按指定格式读写文件出现乱码
  11. 分布式文件系统FastDFS动态扩容
  12. 大牛手把手教你用树莓派玩红警OPENRA
  13. 自动化测试qq空间登录
  14. Golang 之 IED 安装(mac)
  15. 「中国好SaaS」报名进行中!「面基」买方关键决策人
  16. 微信的常用设备 只能看到android,安卓手机撤回的微信图片可以查看啦,赶紧学起来...
  17. NVMe SSD测试为何要先做预处理?
  18. Early Convolutions Help Transformers See Better
  19. matlab中simple函数怎么用,matlab里simple函数
  20. java 公历 农历_Java给定公历日期计算相应农历/阴历日期

热门文章

  1. 子域名爆破工具subDomainsBrute
  2. python爬取《你好, 李焕英》豆瓣评论数据
  3. 【SpringBoot DB系列】Jooq批量写入采坑记录
  4. MySQL--多表连接(内连接、外连接、交叉连接--笛卡尔积)
  5. eclipse自动关闭解决方案
  6. Datadog 笔记
  7. JUC并发编程(1.Java线程)
  8. EasyRoads3D使用教程
  9. 硬盘函数不正确怎么解决
  10. python中的多任务-多线程和多进程