轉(zhuǎn)自http://blog.sina.com.cn/s/blog_1318255b00102wbtz.html
Python的第一個主流打包格式是.egg文件,現(xiàn)在大家庭中又有了一個叫做Wheel(*.whl)的新成員。wheel“被設(shè)計成包含PEP 376兼容安裝(一種非常接近于磁盤上的格式)的所有文件”绎巨。在本文中截型,我們將學(xué)習(xí)如何創(chuàng)建一個wheel以及如何在virtualenv中安裝wheel涌哲。
起步
你需要pip來創(chuàng)建wheel肤寝,要學(xué)習(xí)安裝pip育苟,我強(qiáng)烈推薦閱讀pip的安裝頁面。如果你已經(jīng)安裝了pip醋闭,那么你需要把它升級到最新版本窄驹。你只需要做這些:在一個控制臺窗口中,輸入以下命令:
pip install --upgrade pip
完成以上工作后证逻,我們就準(zhǔn)備學(xué)習(xí)創(chuàng)建wheel了乐埠!
1、創(chuàng)建wheel
首先囚企,你需要安裝wheel包:
pip install wheel
這相當(dāng)?shù)娜菀渍筛溃∠乱徊剑覀儗⑹褂胾nidecode包來創(chuàng)建我們的第一個wheel龙宏,因為當(dāng)我在寫本文的時候棵逊,我們的wheel包還沒有創(chuàng)建出來,接下來我會在多個項目中使用這個包银酗。
pip wheel --wheel-dir=my_wheels Unidecode
現(xiàn)在辆影,你在my_wheels文件夾中有了名字為Unidecode-0.04.14-py26-none-any.whl的wheel,讓我們來學(xué)習(xí)安裝新創(chuàng)建的wheel花吟!
2秸歧、安裝Python wheel
讓我們創(chuàng)建一個virtualenv
來進(jìn)行測試,你可以在這里讀取更多關(guān)于virtualenv的信息衅澈。一旦你安裝了virtualenv键菱,使用下面的命令來測試:
virtualenv test
這將為我們創(chuàng)建一個包含pip的可試驗虛擬沙箱,在繼續(xù)下一步之前今布,確信運(yùn)行了s文件夾中的activate來使能virtualenv【福現(xiàn)在virtualenv沒有包括wheel,所以你需要再次安裝wheel:
pip install wheel
一旦wheel安裝部默,我們就使用如下命令來安裝我們之前創(chuàng)建的wheel:
pip install --use-wheel --no-index --find-links=path/to/my_wheels Unidecode
為了測試運(yùn)行是否正常侵蒙,從你virtualenv的s文件夾中運(yùn)行Python并且嘗試導(dǎo)入unidecode。如果它正常導(dǎo)入傅蹂,那么你成功的安裝了你之前創(chuàng)建的wheel纷闺!
注解:我開始的時候安裝了一個麻煩多多的舊版本virtualenv。確信你升級到了最新版本份蝴,或者你花費(fèi)大量時間去折騰讓它正常工作犁功。
.whl文件有一點(diǎn)與.egg文件相似:實際上它們都是“偽裝的”.zip文件。如果你將.whl文件名擴(kuò)展改為*.zip婚夫,你就可以使用你的zip應(yīng)用程序打開它浸卦,并且可以查看它包含的文件和文件夾。
總結(jié)
現(xiàn)在你已經(jīng)準(zhǔn)備好創(chuàng)建你自己的wheel了案糙,那就像為你自己的快速安裝項目創(chuàng)建本地倉庫的一個很好地方法限嫌。你可以創(chuàng)建多個不同的wheel倉 庫靴庆,這便與在不同測試版本之間切換。當(dāng)與virtualenv結(jié)合后怒医,你就會有一個很便捷的方法炉抒,通過該方法,你看到新版本的依賴如何在不需要多次下載它 們的情況下作用于你的項目稚叹。