不会安装python的egg文件,在网上搜索了一下,被“蟒蛇蛋”这个词雷到了,记录下。php
随着对python的逐渐使用,发现一些python组件是用一个包管理器发布的,今天搞了快一个小时,终于搞定了,这方面中文资料比较少,都是看英文资料。若是你之前没有包管理器,可能会摸不着头脑。不过只要理解了一些概念,几步简单的操做就搞定了,关键是对于你之后安装和管理python包很方便,并且若是你更进一步的话,你还能够本身制做“蛇蛋包”,呵呵。今天时间有限,一下子还要帮喵喵看flash文件出错缘由,因此今天就简单写写了。java
1. 问题的由来python
有的网页下载源代码中没有申明编码方式,所以须要有一个程序自动判断编码方式,所以我找到了一个开源的python工具,听说Mozilla中就是用的这个,chardet开源软件。不过包下载下来了,解压出来就一个光秃秃的文件,没有任何说明,用EditPlus打开,发现有一些信息,在末尾还看到setup段,可是不知道怎么装啊,郁闷了好一下子,开始寻找方法。后来发现他是经过包管理工具setuptools发布的。所以我找到了setuptools,在官方网站上有安装部分的说明,不过说得比较含糊了,让我找一个exe的安装文件,哪有啊,郁闷的。后来知道了,setuptools的安装方法也很独特的,下面我就介绍怎么安装setuptoolslinux
2. 安装setup toolsruby
下载文件:ez_setup.py工具
而后使用2.6的解释器执行,这个脚本会自动在网上去下载相关的安装程序,而后就安装好了,安装完成后,会在scripts文件下生成几个exe可执行文件。下面是个人截图:网站
注意:我机器上有3.1和2.6两个解释器,用3.1不行的,提示语法错误,2.6是能够的编码
3. 使用 setuptoolsspa
很简单了,语法以下:code
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等 也有相似的工具软件.