什么是python扩展库_什么是目前比较常用的Python扩展库管理工具
展開全部
在Python環境中已經有很多成熟的包,可以通過安裝這些包來擴展我們的程序。
例如,很32313133353236313431303231363533e4b893e5b19e31333365643464多時候Python開發人員都會去PyPI網站去查找自己想要使用的包,然后進行安裝。PyPI ( Python Package Index)是獲得第三方 Python 軟件包以補充標準庫的一個站點。
在安裝Python包的過程中,經常涉及到distutils、setuptools、distribute、setup.py、easy_install、easy_install和pip等等。
突然對Python的包管理凌亂了,這些工具關系是什么,應該怎么去選擇使用?
下面就簡單介紹下Python包管理相關的一些內容。
Python包管理工具
這么多的Python包管理工具,剛開始接觸Python時會有點不知如何選擇。其實,當查過Python的官方文檔之后,慢慢就理清了這些工具之間的關系了,也就沒有這么混亂了。
下面就分別對Python中的包管理工具進行簡單的介紹。
distutils
distutils 是 python 標準庫的一部分,這個庫的目的是為開發者提供一種方便的打包方式, 同時為使用者提供方便的安裝方式。
我們經常使用的setup.py就是基于distutils實現的,然后通過setup.py就可以進行打包或者安裝了。
看一個簡單的例子,找一個目錄創建三個文件foo.py、bar.py和setup.py,其中setup.py的內容如下:
from?distutils.core?import?setup
setup(
name='fooBar',
version='1.0',
author='Will',
author_email='wilber@sh.com',
url='http://www.cnblogs.com/wilber2013/',
py_modules=['foo',?'bar'],
)
然后,在該目錄中運行?python setup.py sdist?,會得到以下輸出,同時生成了一個"fooBar-1.0.zip"包。
使用者就可以解壓縮這個包然后執行?python setup.py install進行安裝,然后就可以使用foo、bar這兩個模塊了:
關于更過如何編寫setup.py的內容,請自行參閱Python官方文檔中的setupscript部分。
setuptools 和 distribute
setuptools?是對 distutils 的增強,尤其是引入了包依賴管理。我們可以通過ez_setup.py來安裝setuptools。
至于distribute,它是setuptools的一個分支版本。分支的原因是有一部分開發者認為 setuptools 開發太慢。但現在,distribute 又合并回了 setuptools 中,所以可以認為它們是同一個東西。
前面看到setup.py可以創建一個壓縮包,而setuptools使用了一種新的文件格式(.egg),可以為Python包創建 egg文件。setuptools 可以識別.egg文件,并解析、安裝它
easy_install
當安裝好setuptools/distribute之后,我們就可以直接使用easy_install這個工具了:
1.從PyPI上安裝一個包:當使用?easy_install package?命令后,easy_install 可以自動從 PyPI 上下載相關的包,并完成安裝,升級
2.下載一個包安裝:通過?easy_install package.tgz?命令可以安裝一個已經下載的包
3.安裝egg文件:通過?easy_install package.egg?可以安裝一個egg格式的文件
通過?easy_install --help?命令可以獲取該命令相關的幫助提示:
根據上面的分析,可以看到setuptools/distribute和easy_install之間的關系:
*setuptools/distribute 都擴展了 distutils,提供了更多的功能
*easy_install是基于setuptools/distribute的一個工具,方便了包的安裝和省級
pip
pip是目前最流行的Python包管理工具,它被當作easy_install的替代品,但是仍有大量的功能建立在setuptools之上。
easy_install 有很多不足:安裝事務是非原子操作,只支持 svn,沒有提供卸載命令, 安裝一系列包時需要寫腳本。pip 解決了以上問題,已經成為新的事實標準。
pip的使用非常簡單,并支持從任意能夠通過 VCS 或瀏覽器訪問到的地址安裝 Python 包:
*安裝:??pip install SomePackage
*卸載:??pip uninstall SomePackage
文章的下面部分就重點介紹一下pip相關的內容。
使用pip
在大家使用Python中,推薦使用pip進行Python包管理,pip的安裝和使用都比較方便。
pip安裝
pip的安裝有兩種常用的方式:
1.下載get-pip.py文件,然后執行?python get-pip.py?進行安裝(如果沒有安裝setuptools,那么get-pip.py會幫忙安裝)
2.現在pip源碼包,然后通過setup.py進行安裝
pip常用命令
對于pip,最常用的肯定還是?pip --help?,通過幫助文檔,就可以大概知道如何使用命令和參數。
pip常用命令集合:
使用
命令
從PyPI安裝軟件包
pip install SomePackage
卸載軟件包
pip uninstall SomePackage
查看以安裝軟件包
pip list
查看可升級軟件包
pip list --outdated
升級軟件包
pip install --upgrade SomePackage
查看軟件包安裝了哪些文件及路徑等信息
pip show --files SomePackage
安裝軟件包的指定版本號
pip install SomePackage
# latest version
pip install SomePackage==1.0.4
# specific version
pip install 'SomePackage>=1.0.4'
# minimum version
根據依賴文件安裝軟件包
pip freeze > requirements.txt
# 使用pip導出依賴文件列表
pip install -r requirements.txt
# 根據依賴文件列表,自動安裝對應的軟件包
總結
廣州千鋒在本文介紹了Python的各個包管理工具之間的關系,相信通過這篇文章的介紹,就不會再對distutils、setuptools、distribute、setup.py、easy_install、easy_install和pip等等名詞感覺混亂了。
大致了解這些Python包管理工具后,大家應該也清楚了怎么選擇和使用。
本文沒有涉及如何制作并發布一個Python包,感興趣的同學可以去Python官網上查查。
總結
以上是生活随笔為你收集整理的什么是python扩展库_什么是目前比较常用的Python扩展库管理工具的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sql年月日24小时制_Power Qu
- 下一篇: python从random生成列表_详解