2013-07-22 58 views
4

是否有一個pip命令將決定是否安裝最新版本的軟件包?PIP命令確定是否安裝最新版本?

我正在編寫一個shell腳本,需要確定是否安裝了最新版本。如果沒有,那麼我的腳本需要手動安裝這個軟件包。 (這是PIL如果任何人的好奇和需要進行手動安裝,因爲libjpeg頭文件和庫是在一個非標準的位置。)

This answer介紹瞭如何檢索當前安裝的軟件包的版本,但我還需要可供下載的最新版本以及某些比較版本的方式。

+0

我所知道的最好的是,你可以做'pip freeze'來獲得你的包的當前安裝版本。然後你可以檢查你的軟件包的最新版本(推測是從他們的主頁)。 – inspectorG4dget

+0

也許[this](http://wiki.python.org/moin/PyPIXmlRpc?action=show&redirect=PyPiXmlRpc)會有所幫助。 –

+0

「PyPI的XMLRPC接口被認爲是遺留的,不應該使用。使用Simple和JSON API」@NathanOsman –

回答

1

'點搜索'給你的信息。例如: -

$ pip search SOAPpy 
SOAPpy     - SOAP Services for Python 
    INSTALLED: 0.12.0 
    LATEST: 0.12.5 

與:

$ pip search MarkupSafe 
MarkupSafe    - Implements a XML/HTML/XHTML Markup safe string for Python 
    INSTALLED: 0.19 (latest) 
2

一個更有用的命令可能是pip list -o,讓你的過時的庫的列表。

$ pip list -o 
dj-database-url (0.3.0) - Latest: 0.4.0 [sdist] 
... 

你可以這樣做:

$ pip list -o | grep PIL 

,看看它是否返回任何輸出。