我想卸載我的超級用戶環境中的所有django軟件包,以確保我所有的webapp依賴項都安裝到我的virtualenv。旁路確認提示pip卸載
sudo su
sudo pip freeze | grep -E '^django-' | xargs pip -q uninstall
但pip想要確認每個軟件包的卸載,似乎並沒有一個用於點的-y選項。有沒有更好的方法來卸載一批python模塊? rm -rf .../site-packages/
是否正確?有沒有easy_install的選擇?
另外,倒不如強制PIP安裝所有依賴於virtualenv中,而不是依賴於系統的Python模塊,以滿足這些依賴關係,例如pip --upgrade install
,但強制甚至舊版版本被安裝以覆蓋任何系統模塊。我嘗試激活我的virtualenv然後pip install --upgrade -r requirements.txt
,似乎確實安裝了依賴關係,即使那些存在於我的系統路徑中,但我不能確定是否因爲我的系統模塊是舊的。並且man pip
似乎不能保證這種行爲(即安裝相同的版本的包已存在於系統站點包中)。
啊,多麼簡單。感謝unix程序提醒。 「是」非常有用。 – hobs 2013-05-25 00:02:01
但我不認爲這會工作(太膽怯,今天在我的系統上嘗試它)。 '是| sudo pip freeze | grep -E'^ django-'| xargs pip -q uninstall',因爲'yes'es會被'pip freeze'而不是'xargs'參數/命令,'pip uninstall'所吞噬。 – hobs 2013-05-25 00:10:21
'pip freeze> all_to_uninstall.txt' 'yes | pip卸載-r all_to_uninstall.txt' – Nick 2014-11-14 15:42:57