【问题标题】:PIP permission denied on Mac OSX even with --user即使使用 --user 在 Mac OSX 上也拒绝 PIP 权限
【发布时间】:2017-03-07 15:43:35
【问题描述】:

我最近开始了解使用 pip 和 sudo 安装软件包的可怕之处。相反,建议使用 --user 标志。问题是,即使使用用户标志,我也无法使用 PIP 安装任何东西,指责权限被拒绝。以前有人遇到过这个问题吗?

这是尝试安装包 Cython 时出现错误的小演示:

OSError: [Errno 13] Permission denied: '/Users/myusername/Library/Python/2.7'

提前感谢您的帮助。

P.S:我知道使用 virtualenv 的替代方案,但我真的想坚持使用 pip on clear。

编辑:事实证明我可以访问 /Library/Python,但不能访问 ~/Library/Python。这对我来说似乎很奇怪,为什么我可以访问系统范围的文件但不能访问我自己的文件?这正常吗?

【问题讨论】:

  • 你应该使用 virtualenv。你为什么不呢?无论如何,您应该能够使用 sudo 在全球范围内安装软件包
  • 由于安全问题,我想避免使用 sudo。使用 sudo 权限从网络上运行任意 python 代码并不是很好。
  • chown -R username:staff /Library/Python是不是一不小心?
  • 我不知道。我不记得这样做了。但是问题仍然存在,我不应该访问 ~/Library/Python 吗?我不知道是 SIP 的问题还是我的系统出了什么严重问题。
  • 请发布ls -l /Users/myusername/ls -l /Users/myusername/Library/的输出。似乎是 root 用户拥有它或其他用户。

标签: python macos pip


【解决方案1】:

尝试使用 sudo 命令。

 sudo pip install cython

【讨论】: