小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

python包工具之間的關(guān)系 | 閆肅的博客

 dinghj 2014-04-29

從下面部分可以大致了解一下各個(gè)工具的由來(lái)和區(qū)別,推薦Python打包工具這篇文章,來(lái)自圖靈社區(qū)的一篇翻譯文,很詳細(xì)的解釋了Python打包工具的發(fā)展。

下面部分轉(zhuǎn)載自:Yang Yubo's blog


當(dāng)前的包管理工具鏈?zhǔn)?easy_install/pip + distribute/setuptools + distutils, 顯得較為混亂。

而將來(lái)的工具鏈組合非常簡(jiǎn)單:pip + distutils2

distutils

Python 自帶的基本安裝工具, 適用于非常簡(jiǎn)單的應(yīng)用場(chǎng)景; 使用:

為項(xiàng)目創(chuàng)建 setup.py 腳本

執(zhí)行 setup.py install 可進(jìn)行安裝

setuptools

針對(duì) distutils 做了大量擴(kuò)展, 尤其是加入了包依賴機(jī)制. 在部分 Python 子社區(qū)已然是事實(shí)上的標(biāo)準(zhǔn);

distribute

由于 setuptools 開發(fā)進(jìn)度緩慢, 不支持 Python 3, 代碼混亂, 一幫程序員另起爐灶, 重構(gòu)代碼, 增加功能, 希望能夠取代 setuptools 并被接納為官方標(biāo)準(zhǔn)庫(kù), 他們非常努力, 在很短的時(shí)間便讓社區(qū)接受了 distribute;

easy_install

setuptools 和 distribute 自帶的安裝腳本, 也就是一旦 setuptools 或 distribute 安裝完畢, easy_install 也便可用. 最大的特點(diǎn)是自動(dòng)查找 Python 官方維護(hù)的包源 PyPI , 安裝第三方 Python 包非常方便; 使用:

setuptools / distribute 都只是擴(kuò)展了 distutils easyinstall [PACKAGENAME] 自動(dòng)從 PyPI 查找/下載/安裝指定的包;

pip

pip 的目標(biāo)非常明確 – 取代 easyinstall. easyinstall 有很多不足: 安裝事務(wù)是非原子操作, 只支持 svn, 沒有提供卸載命令, 安裝一系列包時(shí)需要寫腳本; pip 解決了以上問(wèn)題, 已儼然成為新的事實(shí)標(biāo)準(zhǔn), virtualenv 與它已經(jīng)成為一對(duì)好搭檔; 使用:

安裝: pip install [PACKAGENAME] 卸載: pip uninstall [PACKAGENAME] 支持從任意能夠通過(guò) VCS 或?yàn)g覽器訪問(wèn)到的地址安裝 Python 包

distutils2

setuptools 和 distribute 的誕生是因?yàn)?distutils 的不濟(jì), 進(jìn)而導(dǎo)致目前分化的狀況. 而 Guido 并未接納 distribute 為官方標(biāo)準(zhǔn), 并說(shuō)明了原因. 開發(fā)者在失落之余明確了新的方向和任務(wù) – distutils2, 它將成為 Python 3.3 的標(biāo)準(zhǔn)庫(kù) packaging , 并在其它版本中以 distutils2 的身份出現(xiàn); 換句話說(shuō), 它和 pip 將聯(lián)手結(jié)束目前混亂的狀況;

zc.buildout

這是一個(gè)臃腫的安裝、部署系統(tǒng), 在 Zope 社區(qū)運(yùn)用教廣, 功能強(qiáng)大/繁復(fù)但使用場(chǎng)景有限, 除非確有需要, 不值得投入太多的精力去研究, pip + virtualenv + fabric 的工具鏈組合更為簡(jiǎn)單、靈活.

參考

Why use pip over easy_install?

Differences between distribute, distutils and setuptools?

Current State of Packaging

Future of Packaging

The fate of Distutils – Pycon Summit + Packaging Sprint detailed report

A Quick Diff between Distutils and Distutils2

5 tips for packaging your Python projects


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多