升级到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项目只会部分卸载项目。 例外: Traceback(最近一次调用最后一次): 在主要文件“/Library/Python/2.7/site-packages/pip/basecommand.py”,第211行 status = self.run(options,args) 运行文件“/Library/Python/2.7/site-packages/pip/commands/install.py”,第311行 根= options.root_path, 安装文件“/Library/Python/2.7/site-packages/pip/req/req_set.py”,第640行 requirement.uninstall(auto_confirm =真) 在卸载文件“/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行,删除 重命名(path,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) 在copy2中输入文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py”,第131行 copystat(src,dst) 在copystat中输入文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py”,第103行 os.chflags(dst,st.st_flags) OSError:[Errno 1]不允许操作:'/ var / folder / m0 / hzt3nk9d43n05bwm6zztqjkh0000gn / T / pip-HESb5m-uninstall / System / Library / Frame /Python.framework / Version / 7.7 / Extras / lib / python / numpy- 1.8.0rc1-py2.7.egg-INFO” (2)
答案 0 :(得分:0)
您正在使用的python框架
“ / System / Library / Frameworks / Python.framework / Versions / 2.7 / lib / python2.7”
是Mac OS随附的系统python。您不应该使用pip install
软件包,因为这样做可能会污染系统python并可能导致系统问题。这就是为什么其他解决方案建议安装另一个Python(例如来自brew brew install python@2
的Python。
升级到cap capan后遇到的问题是System Integrity Protection built-in OS X El Capitan and later
您可以按照此处介绍的步骤禁用此保护:
这样做之后,您将可以使用pip安装和升级软件包。
我不建议这样做,但是可以使用!
我建议使用brew安装python,然后使用pip
设置虚拟环境,这样您可以安装不会污染全局python的python软件包。
pip install virtualenv
pip install virtualenvwrapper