2011-05-09 37 views
0

這是在Windows上。在全球站點包中,我安裝了lxml二進制文件(.egg文件)。現在我正在創造一個虛擬世界,並試圖從全球環境中獲得同樣的蛋。爲什麼PIP尋找下載緩存,如果已經安裝了相同的確切軟件包,請執行--upgrade

virtualenv.exe mynewvenv 
call mynewvenv\Scripts\activate.bat 

所以「點凍結」給了我安裝在我的全球環境中的雞蛋。

現在我在下載緩存中有一個同樣的lxml包(具有相同名稱和相同版本)的tarball版本(源代碼)。現在,如果我運行「pip install --upgrade」,它實際上從下載緩存中選取tarball(源代碼)並安裝它,而不檢查是否已安裝相同的軟件包(儘管如此)。爲什麼點子像這樣行事?理想情況下,皮普應該輸出類似「需求已經確定」的內容並繼續前進。不是嗎?

更新:剛纔發現即使是「easy_install」,也是以同樣奇怪的方式表現的。

回答

1

當您使用pip install --upgrade時,它總是(重新)安裝包及其依賴項。

IIRC它是強制重新安裝的唯一方法。

相關問題