2014-10-10 29 views
4

安裝軟件包時,登錄爲我的用戶名,我總是得到權限被拒絕,除非我這樣做:爲什麼我必須在每次點擊安裝前輸入`sudo`?

sudo pip install

我該如何做到這一點?或者這應該是這樣嗎?

+4

這是最好的,因爲它會強制你產生密碼(反黑客),並讓你檢查它是否會破壞你的系統(反事故)。但是,如果您不想輸入sudo,請使用root shell,但請小心! – matsjoyce 2014-10-10 18:04:33

+1

或者您可以使用--user模式,或者您可以使用默認情況下放置在系統目錄中的發行版(例如,anaconda)。 – mdurant 2014-10-10 18:05:47

+4

您正在系統範圍內安裝軟件包。這是使用[虛擬環境]的好習慣(http://docs.python-guide.org/en/latest/dev/virtualenvs/)。你可以看看這個。 – 2014-10-10 18:06:30

回答

8

要麼,我會用的virtualenv,在評論中提到的問題,或者利用Python的PYTHON_USERBASE只爲您的用戶安裝模塊:

在你的.bashrc補充:

export PYTHON_USERBASE=~/python_userbase 

然後下載你的包,解壓它,去生成的目錄中,然後運行:

python setup.py install --user 

或簡單地使用:

pip install <package> --user 

他們都會在〜/ python_userbase/lib中/ pythonXXX /站點包結束,而不是破壞你的系統的site-packages

參考:

pep-0370

的最後一件事,這次,與Unix有關,你可以修改/ etc/sudoers並授予你的用戶以root權限執行pip的權利。但我會極力阻止你這樣做。

+0

你應該接受這個答案,並點擊支票圖標,我會很感激。謝謝 – 2014-10-29 19:17:44

相關問題