【python】 使用 setuptools
不会安装python的egg文件,在网上搜索了一下,被“蟒蛇蛋”这个词雷到了,记录下。
随着对python的逐渐使用,发现一些python组件是用一个包管理器发布的,今天搞了快一个小时,终于搞定了,这方面中文资料比较少,都是看 英文资料。如果你以前没有包管理器,可能会摸不着头脑。不过只要理解了一些概念,几步简单的操作就搞定了,关键是对于你以后安装和管理python包很方 便,而且如果你更进一步的话,你还可以自己制作“蛇蛋包”,呵呵。今天时间有限,一会儿还要帮喵喵看flash文件出错原因,所以今天就简单写写了。
1. 问题的由来
有的网页下载源代码中没有申明编码方式,因此需要有一个程序自动判断编码方式,因此我找到了一个开源的python工具,据说Mozilla中就是 用的这个,chardet开源软件。不过包下载下来了,解压出来就一个光秃秃的文件,没有任何说明,用EditPlus打开,发现有一些信息,在末尾还看 到setup段,但是不知道怎么装啊,郁闷了好一会儿,开始寻找方法。后来发现他是通过包管理工具setuptools发布的。因此我找到了 setuptools,在官方网站上有安装部分的说明,不过说得比较含糊了,让我找一个exe的安装文件,哪有啊,郁闷的。后来知道 了,setuptools的安装方法也很独特的,下面我就介绍怎么安装setuptools
2. 安装setup tools
下载文件:ez_setup.py
然后使用2.6的解释器执行,这个脚本会自动在网上去下载相关的安装程序,然后就安装好了,安装完成后,会在scripts文件下生成几个exe可执行文件。下面是我的截图:

3. 使用 setuptools
很简单了,语法如下:
easy_install.exe 你要安装的egg包
注意egg包不一定是扩展名是egg的,其实在linux里面是不区分扩展名的。后面的egg包也可以是网址的。如果你非常懒,像我jason懒羊羊那么懒的话,直接输入名称就可以了。比如你要安装Mechanize模块,只要输入:easy_install Mechanize 就可以啦,剩下来的工作setuptools会帮你搞定的。

到此为止,我的chardet安装完成。
4. 相关知识:egg包和setup tools
python的egg文件有点像java中的jar文件,是一个工程打包文件,便于安装部署,仅此一点,给多少pythoner带来了多少激动。而setup tools就是一个提供包管理的工具或者说是软件。
egg 是一个包含所有包数据的文件包。在理想情况中,egg 是一个使用 zip 压缩的文件,其中包括了所有需要的包文件。但是在某些情况下,setuptools 会决定(或被开关告知)包不应该是 zip 压缩的。在这些情况下,egg 只是一个简单的未曾压缩的子目录,但是里面的内容是相同的。使用单一的版本可以方便地进行转换,并可以节省一点磁盘空间,但是 egg 目录从功能和组织结构上来说都是相同的。
安装package是经常碰到事情, 而且安装也比较繁琐,最头疼就是包依赖的问题,有时候一个上午可能就为了安装一个包,就像我今天这样的。在Java里面有这样的包管理软件,那就是 Maven了, 他会帮助你找到所依赖的包. 据说其他语言,比如, php, ruby, perl等 也有类似的工具软件.
【python】 使用 setuptools的更多相关文章
- Python中setuptools做什么用的?
概括 setuptools是 Python Enterprise Application Kit(PEAK)的一个副项目,它 是一组Python的 distutilsde工具的增强工具(适用于 Pyt ...
- ez_setup.py(安装python下setuptools用)
#!python"""Bootstrap setuptools installation If you want to use setuptools in your pa ...
- Python安装setuptools时报Compression requires the (missing) zlib
装机员为您提供Python安装setuptools时报Compression requires the (missing) zlib的文章咨询供您阅读,如何使用Python安装setuptools时报 ...
- 转载 Python 安装setuptools和pip工具操作方法(必看)
本文章转载自 脚本之家 http://www.jb51.net 感谢! setuptools模块和pip模块是python进行第三方库扩展的极重要工具,例如我们在需要安装一些爬虫或者数据分析的包时就 ...
- 【原】关于Python中setuptools安装的问题
在生成package的时候,需要在setup.py中引入setuptools包,可是却报告如下错误: ImportError: No module named setuptools 解决办法就是下载s ...
- python安装setuptools
http://wenku.baidu.com/link?url=I-FCVFpHbP2oyCt1Gjb1X5xHk4P475dVU3j8rWd4b4VSuD-Wd86LdbC7bdYskZdtDfGK ...
- windows平台下安装python的setuptools工具
到下面的网址下载setuptools-0.6c11.win32-py2.7.exe http://pypi.python.org/pypi/setuptools#files 然后安装setuptool ...
- python 安装 setuptools Compression requires the (missing) zlib module 的解决方案
背景: 虚拟机centos下安装python辅助工具 setuptools报错,错误信息大概如下: Traceback (most recent call last): File "setu ...
- python安装setuptools和pip
今天需要写一个python导出excel的小程序.这里需要用到XlsxWriter模块,但是这个模块并没有安装,所以需要先下载该模块,然后才能在程序中使用.这里就需要安装模块,我选择使用pip.以下就 ...
- Python - 使用Setuptools进行程序打包
1- Setuptools简介 通过Setuptools可以更方便的创建和发布Python包,特别是那些对其它包具有依赖性的状况: Python打包用户指南(Python Packaging User ...
随机推荐
- Docker 版本升级
当前系统版本:Centos 7.4 x64 删除老版本docker sudo yum remove docker docker-common docker-selinux docker-engine ...
- SqlServer2012数据导入
1.选择数据库,右击[任务]-->[导入数据]: 2.选择对应的数据源,和数据文件,下一步: 3.填写服务器地址,和数据库的登录信息,选择数据库名称: 4.复制一个或多个表或试图的数据: 5.将 ...
- 使用MongoVUE无法添加Collection
说明: 问题MongoDB版本为3.2,MongoVUE 1.6.9 问题: 在数据库中添加集合不可用. 解决方法: MongoDB版本换成2 或者 切换存储引擎: 从MongoDB 3.2 版本开始 ...
- JS中innerHTML和innerText,outerHTML和outerText
innerHTML 声明了元素含有的HTML文本,不包括元素本身的开始标记和结束标记 innerHTML是符合W3C标准的属性,而innerText只适用于IE浏览器(现在也适应chrome浏览器 ...
- c++ 交换两个容器(swap)
#include <iostream> #include <vector> using namespace std; int main () { vector<,); / ...
- python 返回系统位数
# For bit it will and bit it will import struct print()
- Tornado教程目录
第一章:引言 第二章:表单和模板 第三章:模板扩展 第四章:数据库 第五章:异步Web服务 第六章:编写安全应用 第七章:外部服务认证 第八章:部署Tornado
- Java回顾之集合
在这篇文章里,我们关注Java中的集合(Collection).集合是编程语言中基础的一部分,Java自JDK早期,就引入了Java Collection Framework.设计JCF的那个人,后来 ...
- Redis高级命令操作大全--推荐
redis安装和使用 redis安装 wget http://download.redis.io/redis-stable.tar.gz tar zxvf redis-stable.tar.gz cd ...
- Leetcode 50
//1开始我只是按照原来快速幂的思想,当n <0 时,n变成-n,发现当n取-INTMAX时会发生越界的问题,然后在改快速幂代码的时候逐渐了解到快速幂的本质,其实位运算对快速幂来说速度加快不了多 ...