在安装pip和python时,我遇到一个写着:
目录'/Users/Parthenon/Library/Logs/pi‘或其父目录不属于当前用户,并且已禁用调试日志。请检查该目录的权限和所有者。如果使用sudo执行pip,您可能需要-H标志。
因为我现在必须使用sudo
进行安装。
我的Mac上已经安装了python和一些库,我正在运行Yosemite。我最近不得不做一个干净的擦除,然后重新安装操作系统。现在我得到了这个提示符,但我想不出如何更改它
以前我的命令行是Parthenon$
,现在是Philips-MBP:~ Parthenon$
我是这台计算机的唯一所有者,这是它的唯一帐户。当升级到python3.4时,这似乎是一个问题,似乎没有任何东西放在正确的位置,virtualenv没有达到我期望的效果,等等。
发布于 2015-01-11 03:56:16
当我从运行pip
到运行sudo pip
时,我也在我的苹果电脑上看到了这一变化。将-H
添加到sudo会使消息消失。例如。
sudo -H pip install foo
man sudo
告诉我,-H
会导致sudo
将$HOME
设置为目标用户(在本例中是根用户)。
因此,pip似乎正在查看$HOME/Library/Log
,而sudo
在默认情况下没有将$HOME
设置为/root/
。毫不奇怪,您作为用户而不是根用户拥有~/Library/Log
。
我怀疑这是pip最近的一些变化。我现在用sudo -H
运行它来解决这个问题。
发布于 2015-01-10 08:15:54
这里的问题是您以某种方式使用sudo
安装到了virtualenv中。很可能是偶然的。这意味着root
用户将重写Python包数据,使得所有文件都归超级用户所有,而您的普通用户将无法再写入这些文件。通常,virtualenv应该仅由普通UNIX用户使用和拥有。
您可以通过将UNIX文件权限包更改为您的用户来解决此问题。尝试:
$ sudo chown -R USERNAME /Users/USERNAME/Library/Logs/pip
$ sudo chown -R USERNAME /Users/USERNAME/Library/Caches/pip
那么pip
应该能够再次写入这些文件。
发布于 2016-10-02 03:30:43
pip install --user <package name>
(不需要sudo )为我解决了一个非常类似的问题。
https://stackoverflow.com/questions/27870003
复制相似问题