2015-01-09 53 views
124

安裝時PIP和Python我已經碰到了,說:PIP安裝:請檢查目錄的權限和所有者

目錄「/用戶/帕臺農/庫/日誌/ PI」或它父目錄不屬於當前用戶,並且調試日誌已被禁用。請檢查該目錄的權限和所有者。如果用sudo執行pip,則可能需要-H標誌。

因爲我現在必須使用sudo進行安裝。

我已經在我的Mac上安裝了python和一些庫,我正在運行Yosemite。我最近不得不做一個乾淨的擦拭,然後重新安裝操作系統。現在我得到這樣的提示,我有麻煩搞清楚如何去改變它

之前我的命令行是Parthenon$現在是Philips-MBP:~ Parthenon$

我這臺電腦的唯一擁有者,這是唯一的帳戶在上面。這似乎是一個問題,當升級到python 3.4,沒有什麼似乎是在正確的位置,virtualenv不會去我所期望的,等等。

+0

是您的帳戶名稱Philip嗎? – komaromy 2015-01-09 22:08:08

+0

昨天我剛剛在自己的機器上使用pip時發現了這種情況,那麼virtualenv的意思是不會在你期望的地方發生? – 2015-01-09 22:17:58

+0

我安裝了Python 3。4在我的機器上,但是當我在終端中運行python時,即使在完成整個安裝過程之後它仍然運行2.7。我只提到virtualenv,因爲我通常希望在Library/Python/3.4中找到它,但是沒有Library/Python/3.4 – 2015-01-09 22:21:30

回答

43

這裏的問題是,你以某種方式安裝到virtualenv使用sudo。可能是意外。這意味着root用戶將重寫Python包數據,使所有由root擁有的文件和普通用戶不能再寫這些文件。通常,virtualenv只能由普通UNIX用戶使用和擁有。

您可以通過將UNIX文件權限包更改爲您的用戶來解決此問題。嘗試:

$ sudo chown -R USERNAME /Users/USERNAME/Library/Logs/pip 
$ sudo chown -R USERNAME /Users/USERNAME/Library/Caches/pip 

然後pip應該能夠再次寫入這些文件。

More information about UNIX file permission management

+0

Pip仍會寫入錯誤。我也有類似的警告,我的權限是正確的,OP實際上並沒有使用virtualenv,因此全局安裝包需要sudo纔有意義。 – 2015-01-10 01:08:29

+0

@PadraicCunningham:如果pip提供的錯誤是您的權限不正確,請顯示您的文件權限,以便我們能夠弄清楚他們有什麼問題。否則,幫助將是在黑暗中的一槍。 – 2015-01-10 01:13:26

+0

另外我建議你打開另一個問題,因爲你的問題可能與原作者的不同 – 2015-01-10 01:15:05

109

我也看到了我的Mac上這種改變,當我從運行「點子」到「須藤點子」

添加「-H」以須藤去引起走開我的留言。例如。

須藤-H PIP安裝富

'人須藤' 告訴我, '-H' 使sudo來設置$ HOME到目標用戶(根在這種情況下)。

因此,看起來pip正在尋找$ HOME/Library/Log,默認情況下sudo沒有將HOME設置爲〜root。毫不奇怪〜/ Library/Log是你作爲一個用戶而不是root擁有的。

我懷疑這是pip最近的一些變化。我現在用'sudo -H'來運行它,以解決問題。

+14

請注意,使用'sudo pip'完全不正確。欲瞭解更多信息,請參閱這裏http://stackoverflow.com/questions/33004708/osx-el-capitan-sudo-pip-install-oserror-errno-1-operation-not-permitted/33004920#33004920 – 2015-11-25 18:38:13

+0

我有相同的問題,但是現在我必須使用「-H」標誌進行安裝。 – 2016-07-28 13:25:57

38

pip install --user <package name>(不需要sudo)爲我工作的一個非常類似的問題。

+0

您必須至少提供一項安裝要求(請參閱「pip幫助安裝」) – Amir 2016-12-20 04:55:37