MAC 下升级 setuptools 失败

2017-02-24 10:18:29 +08:00
 goodryb

已经是 root 用户了,不知道为啥还报 Operation not permitted

MacOS 10.12.3 , Python 2.7.10

root# pip install -U pip setuptools
Requirement already up-to-date: pip in /Library/Python/2.7/site-packages
Collecting setuptools
  Using cached setuptools-34.3.0-py2.py3-none-any.whl
Collecting packaging>=16.8 (from setuptools)
  Using cached packaging-16.8-py2.py3-none-any.whl
Collecting appdirs>=1.4.0 (from setuptools)
  Using cached appdirs-1.4.1-py2.py3-none-any.whl
Collecting six>=1.6.0 (from setuptools)
  Using cached six-1.10.0-py2.py3-none-any.whl
Collecting pyparsing (from packaging>=16.8->setuptools)
  Using cached pyparsing-2.1.10-py2.py3-none-any.whl
Installing collected packages: six, pyparsing, packaging, appdirs, setuptools
  Found existing installation: six 1.4.1
    DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
    Uninstalling six-1.4.1:
Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 754, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/Library/Python/2.7/site-packages/pip/req/req_uninstall.py", line 115, in remove
    renames(path, new_path)
  File "/Library/Python/2.7/site-packages/pip/utils/__init__.py", line 267, in renames
    shutil.move(old, new)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move
    copy2(src, real_dst)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2
    copystat(src, dst)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat
    os.chflags(dst, st.st_flags)
OSError: [Errno 1] Operation not permitted: '/tmp/pip-fZIEx5-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'
3097 次点击
所在节点    Python
6 条回复
4ever911
2017-02-24 17:25:22 +08:00
sudo pip install setuptools --upgrade
goodryb
2017-02-24 17:35:59 +08:00
@4ever911 #1 同样的报错,-U 和--upgrade 有区别吗
iNohn
2017-02-24 20:37:55 +08:00
我也遇到过这个问题,解决方法貌似是检查 python 目录和 six-1.4.1 … egg-info 文件相应用户(你个人用户和 root )的写权限。不要指望通过 root 来完成一些本应不被允许的操作
goodryb
2017-02-24 20:46:05 +08:00
@iNohn #3 个人账户也无法安装
six-1.4.1 … egg-info 文件相应用户,这个文件是在什么地方
iNohn
2017-02-25 02:12:25 +08:00
@goodryb 就是 Operation not permitted 的那个文件
goodryb
2017-02-25 09:11:17 +08:00
@iNohn #5 这个文件应该是临时生成的,每次安装都不一样

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/342832

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX