Python 2.7 - 升级到El Capitan后无法升级/安装某些软件包

use*_*228 5 macos numpy python-2.7 osx-elcapitan

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

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

我试过pip install --user或pip install --ignore-installed numpy,但都不行.即使它说numpy已成功安装,版本仍保持不变,并没有真正升级.

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

- - - - - - 错误信息 - - - - - -

40:523:执行错误:目录'/ Users/ - /Library/Caches/pip/http'或其父目录不归当前用户所有,并且缓存已被禁用.请检查该目录的权限和所有者.如果用sudo执行pip,你可能需要sudo的-H标志.

弃用:已弃用卸载已安装的distutils项目(numpy),将来的版本将删除该项目.这是因为卸载distutils项目只会部分卸载项目.例外:回溯(最近一次调用最后一次):文件"/Library/Python/2.7/site-packages/pip/basecommand.py",第211行,主状态= self.run(options,args)文件"/ Library/Python/2.7/site-packages/pip/commands/install.py",第311行,运行root = options.root_path,文件"/Library/Python/2.7/site-packages/pip/req/req_set.py",第640行,在安装requirements.uninstall(auto_confirm = True)文件"/Library/Python/2.7/site-packages/pip/req/req_install.py",第716行,在卸载paths_to_remove.remove(auto_confirm)文件"/ Library /Python/2.7/site-packages/pip/req/req_uninstall.py",线125,在删除重命名(路径,new_path)文件"/Library/Python/2.7/site-packages/pip/utils/ INIT py"为,第315行,重命名为shutil.move(旧的,新的)文件"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py",第302行,移动copy2(src) ,real_dst)文件"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py",第131行,在copy2 copystat(src,dst)文件"/ System/Li brary/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py",第103行,在copystat中os.chflags(dst,st.st_flags)OSError:[Errno 1]不允许操作:'/ VAR /文件夹/ M0/hzt3nk9d43n05bwm6zztqjkh0000gn/T/PIP-HESb5m-卸载/系统/资源库/框架/ Python.framework /版本/ 2.7 /额外/ lib中/蟒蛇/ numpy的-1.8.0rc1-py2.7.egg-INFO" (2)

Ted*_*ama 0

您正在使用的Python框架

\n\n
\n

“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7”

\n
\n\n

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

\n\n

升级到 el Capitan 后遇到的问题是System Integrity Protection built-in OS X El Capitan and later\n您可以按照此处描述的步骤禁用此保护:

\n\n
\n

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

\n
\n\n

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

\n\n

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

\n\n
pip install virtualenv\npip install virtualenvwrapper\n
Run Code Online (Sandbox Code Playgroud)\n