2015-06-24 78 views
8

我一直在使用virtualenv幾個星期,直到今天沒有任何問題。使用pip使用-r requirements.txt安裝我的env,它將Django(v1.5)的一部分安裝在錯誤的地方。而不是把整個源成:點和virtualenv在錯誤的地方安裝django的部分

env/lib/python2.7/site-packages/django/ 

它是放的conf /和contrib請的部分/ AT:

env/django/ 

當然,像管理頁面的Django的部分是行不通的。當我將這兩個dirs移動到正確的位置時,一切正常,並且沒有文件重複。我也嘗試刪除整個env目錄,並從相同的結果開始。

爲什麼virtualenv & pip將django的部分分離到錯誤的地方(以及如何解決它)的任何想法?

+0

試着運行'哪個pip'和'哪個python'來確保你使用正確的環境。 –

回答

6

剛剛在我們的箱子遇到了同樣的問題。通過這個目錄刪除

rm -rf ~/.cache/pip 

路徑可以通過OS不同固定它,檢查此鏈接找到你的點子緩存目錄https://pip.pypa.io/en/latest/reference/pip_install.html#caching

的原因是我們在盒子的Django的損壞的高速緩存不知何故,我發現這種加入,當你安裝Django看到詳細輸出-v參數:

pip install -v django==1.5 
在我們的例子

,它只是沒有下載任何安裝。然後我說--no-緩存目錄來安裝一個乾淨的:

pip install -v django==1.5 --no-cache-dir 

它工作這一次,存在的virtualenv的根無配置和contrib請文件夾,而不是文件留在現場,其中包是我們的預期。之後我們刪除〜/ .cache/PIP,它也能正常工作與PIP安裝Django == 1.5

+1

'pip install django == 1.5 --no-cache-dir'對我來說工作正常 - 所有文件都按預期保留在site-packages/django文件夾中 –

+0

謝謝!本週我花了太多時間試圖解決這個問題。 –