提问者:小点点

Python2.7-升级到El Capitan后无法升级/安装某些软件包


在我升级到El Capitan后,Python2.7无法安装/升级/卸载某些软件包,但同时,它仍然适用于其他一些软件包。

下面(结尾)是我尝试升级numpy时收到的错误消息。当我尝试卸载它时,也会引发同样的错误。

我尝试过pip install--user或pip install--grere-安装numpy,但都不起作用。即使它说numpy已成功安装,版本保持不变,也不会真正升级。

我知道其他解决方案可能是使用brew重新安装python,但我想尽可能避免多个版本的Python。任何帮助都将不胜感激。

----------- 错误消息 -----------

40:523:执行错误:目录'/用户/-/库/缓存/pip/超文本传输协议'或其父目录不属于当前用户,缓存已被禁用。请检查该目录的权限和所有者。如果使用sudo执行pip,您可能需要sudo的-H标志。


共1个答案

匿名用户

你正在使用的python框架

"/系统/库/框架/Python.框架/版本/2.7/lib/python 2.7"

是mac os自带的系统python。您不应该pip install包,因为这样做可能会污染您的系统python并可能导致系统问题。这就是为什么其他解决方案建议安装另一个python,例如from brewbrew installpython@2

升级到el Capitan后遇到的问题是系统完整性保护内置OSX El Capitan和更高版本您可以按照此处描述的步骤禁用此保护:

https://www.macworld.com/article/2986118/security/how-to-modify-system-integrity-protection-in-el-capitan.html

这样做后,您将能够使用pip安装和升级软件包。
我不推荐这样做,但它会起作用的!

我建议使用brew安装python,然后使用pip设置一个虚拟环境,这样您就可以安装不会污染全局python的python包。

pip install virtualenv
pip install virtualenvwrapper