Python中setuptools做什么用的?
概括
setuptools是 Python Enterprise Application Kit(PEAK)的一个副项目,它 是一组Python的 distutilsde工具的增强工具(适用于 Python 2.3.5 以上的版本,64 位平台则适用于 Python 2.4 以上的版本),可以让程序员更方便的创建和发布 Python 包,特别是那些对其它包具有依赖性的状况。
1.简介
2.优点
3.安装
使用ez_setup。py安装
使用完整的安装包安装
4. 使用方法
使用方法非常简单,在命令行输入“easy_install 参数”即可。
a、通过模块名称来安装。setuptools会自动搜索PyPI 以查找最新版本的模块。如果找到的话,她会自动下载、编译和安装:
例如:easy_install SQLObject
说明,安装过程可能需要权限,如果是ubuntu的话,可以加上sudo
b、指定查找页面("download page")来使用名称和版本信息来安装或升级一个模块:
easy_install -f http://pythonpaste.org/package_index.html SQLObject
c、从指定模块下载地址来下载模块源码并在下载成功之后编译安装
easy_install http://example.com/path/to/MyPackage-1.2.3.tgz
d、在本地已经存在的egg文件基础上来安装模块
easy_install /my_downloads/OtherPackage-3.2.1-py2.3.egg
e、升级一个已经安装的模块到最新版本,如果在PyPI中这个模块有最新版本。
easy_install --upgrade PyProtocols
f、从源码中安装模块(源码已经下载并解压到当前文件夹下)(New in 0.5a9)
easy_install .
g、模块卸载 easy_install -m package-name (比如easy_install -m pylab)
如果想删除通过easy_install安装的软件包,比如说:MySQL-python,可以执行命令:
easy_install -m MySQL-python
注:此操作会从easy-install.pth文件里把MySQL-python的相关信息抹去,剩下的egg文件,你可以手动删除。
5. 其他
更多easyinstall的使用方法参考Easyinstall官方文档
注:通过easy_install安装软件,相关安装信息会保存到easy-install.pth文件里,路径类似如下形式:
Windows:C:\Python25\Lib\site-packages\easy-install.pth
Linux:/usr/local/lib/python25/site-packages/easy-install.pth
4、相关资源
a、setuptools模块下载地址:http://pypi.python.org/pypi/setuptools
b、setuptools在线文档:http://peak.telecommunity.com/DevCenter/setuptools
c、Easy install在线文档:http://peak.telecommunity.com/DevCenter/EasyInstall
d、可爱的 Python: 使用 setuptools 孵化 Python egghttp://www.ibm.com/developerworks/cn/linux/l-cppeak3.html
f、ez_setup.py脚本:http://peak.telecommunity.com/dist/ez_setup.py
以上是python下setuptools的简介 。
6. 关于 egg
egg 是一个包含所有包数据的文件包。在理想情况中,egg 是一个使用 zip 压缩的文件,其中包括了所有需要的包文件。但是在某些情况下,setuptools 会决定(或被开关告知)包不应该是 zip 压缩的。在这些情况下,egg 只是一个简单的未曾压缩的子目录,但是里面的内容是相同的。使用单一的版本可以方便地进行转换,并可以节省一点磁盘空间,但是 egg 目录从功能和组织结构上来说都是相同的。一直使用 JAR 文件的 Java? 技术的用户会发现 egg 非常熟悉
Python中setuptools做什么用的?的更多相关文章
- 【原】关于Python中setuptools安装的问题
在生成package的时候,需要在setup.py中引入setuptools包,可是却报告如下错误: ImportError: No module named setuptools 解决办法就是下载s ...
- 解决windows下 Python中 matplotlib 做图中文不显示的问题
在代码中填入以下两句即可 from pylab import mpl mpl.rcParams['font.sans-serif'] = [font_name] 如:mpl.rcParams['fon ...
- Python爬虫学习(4): python中re模块中的向后引用以及零宽断言
使用小括号的时候,还有很多特定用途的语法.下面列出了最常用的一些: 表4.常用分组语法 分类 代码/语法 说明 捕获 (exp) 匹配exp,并捕获文本到自动命名的组里 (?<name>e ...
- [Python]Python章1 Python中_的故事
_xx 单下划线开头 Python中没有真正的私有属性或方法,可以在你想声明为私有的方法和属性前加上单下划线,以提示该属性和方法不应在外部调用.如果真的调用了也不会出错,但不符合规范. 本文为译文,版 ...
- python中继承和多态
继承和多态 继承 引入继承 我们有这样一个需求 模仿英雄联盟定义两个英雄类 1.英雄要有昵称.攻击力.生命值属性 2.实例化出两个英雄对象 3.英雄之间可以互殴,被殴打的一方掉血,血量小于0则判断为死 ...
- python中list不能做索引
先看python中内置的list不能作为字典的key. 可将list或者ndarray转化为tuple再做索引. list不能进行hash: import numpy as np a1 = np.ar ...
- Python中实现对list做减法操作介绍
Python中实现对list做减法操作介绍 这篇文章主要介绍了Python中实现对list做减法操作介绍,需要的朋友可以参考下 问题描述:假设我有这样两个list, 一个是list1,list1 = ...
- python中的模块和包
模块 一 什么是模块 模块就是一组功能的集合体,可以通过导入模块来复用模块的功能. 比如我在同一个文件夹定义两个.py文件,分别命名为A.py和B.py,那么可以通过在A文件里通过import B来使 ...
- [转]Python中的str与unicode处理方法
早上被python的编码搞得抓耳挠腮,在搜资料的时候感觉这篇博文很不错,所以收藏在此. python2.x中处理中文,是一件头疼的事情.网上写这方面的文章,测次不齐,而且都会有点错误,所以在这里打算自 ...
随机推荐
- java.lang.ExceptionInInitializerError /NoClassDefFoundError: [Lorg/hibernate/engine/FilterDefinition;
java.lang.ExceptionInInitializerError at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Nati ...
- good design
canvas 效果麦当劳40周年纪念日 效果图 McDonald's 40th Anniversary 交互效果很流畅,赞!
- jQuery正则的使用方法步骤详解
本文主要和大家分享的就是jQuery学习中正则的使用,正则在jquery里面并没有比javascript多哪些知识,基本上是一样的,只是选择器更好了一点,一起来看看吧. 基础正则 1.正则表达式的创建 ...
- ichecked 全选、反选
//iChecked复选框的全选.反选var checkBox =function (checkParents){ $(checkParents).find('.minimalCheckBox1'). ...
- 表单提交与后台PHP如何接口?
在网页中,常常有这样那样的表单需要提交,比如登陆,比如注册,比如查询,比如填写问卷.在这样的表单提交过程中,我们究竟向后台提交了什么,是以什么形式提交的,是一个很值得探讨的问题. 提交了什么——就是我 ...
- ngui的tween的tweenFactor属性
ngui的tween的tweenFactor属性 这个属性是用来记录动画运行的位置的.可以通过设置它来达到动画运行到一半从新设置从新开始
- welcome-file-list设置问题之css,js文件无法加载
web.xml里的welcome-file-list里设置默认访问页面为/html/index.html 但是在访问时,页面CSS都没加载. 正常输入网址却没问题.用/html/index.jsp也没 ...
- css划隔横线的两种方法
css划隔横线的两种方法 方法一:用DIV,代码如下:(推荐此方法) <div style="width:800px;height:1px;margin:0px auto;pa ...
- 即时聊天IM之二 openfire 整合现有系统用户
合肥程序员群:49313181. 合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q Q:408365330 E-Mail:egojit@qq.com 综述: ...
- redis + spring 集成
1.pom <modelVersion>4.0.0</modelVersion> <groupId>com.x.redis</groupId> < ...