2013-10-23 180 views
240

我遇到過,當前版本的軟件包似乎無法正常工作並需要重新安裝的情況。但pip install -U不會觸及已經是最新的軟件包。我看到如何強制重新安裝,首先卸載(使用pip uninstall)然後安裝,但是有沒有辦法在一個步驟中簡單地強制「更新」到名義上最新的版本?我可以強制點子重新安裝當前版本嗎?

+2

我有相反的問題:PIP不斷重新安裝已安裝的依賴項。 –

回答

350
pip install --upgrade --force-reinstall <package> 

升級時,即使它們已經是最新的,也要重新安裝所有軟件包。

pip install -I <package> 
pip install --ignore-installed <package> 

忽略已安裝的軟件包(改爲重新安裝)。

+140

這可行,但你必須指定'--upgrade':'pip install --upgrade --force-reinstall ' –

+1

當使用--target = flag時強制覆蓋的任何方法?這些都不適合我。我得到的目標路徑已經存在錯誤。 – radtek

+0

@KeeganQuinn你認爲這就是Karan所說的「升級時......」?我想是這樣。但你的澄清肯定幫助我。 –

20
--force-reinstall 

不會出現強制重新安裝使用python2.7與PIP-1.5

我不得不使用

--no-deps --ignore-installed 
+15

除'--force-reinstall'之外,您還必須指定'--upgrade',否則它將不起作用。 –

98

你可能想所有三個選項:--upgrade--force-reinstall確保重新安裝,而--no-deps避免重新安裝依賴項。

$ sudo pip install --upgrade --no-deps --force-reinstall <packagename> 

否則,您可能會遇到pip開始重新編譯Numpy或其他大型軟件包的問題。

12

如果要重新安裝在requirements.txt文件中指定的包,沒有升級,所以只是重新安裝在requirements.txt文件中指定的特定版本:

pip install -r requirements.txt --ignore-installed 
相關問題