不會安裝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等 也有相似的工具軟件.