OS X El-Capitan 安装 virtualenvwrapper 遇到 Operation not permitted

发布于 2021-04-09 12:10:30 字数 1791 浏览 1110 评论 0

事情是这样的,在安装完 virtualenv 后,想配合 virtualenvwrapper 使用,于是直接是 pip 安装:

$ pip install virtualenvwrapper

于是抱了一错误,说是没有权限,那么加上 sudo 后运行:

$ sudo pip install virtualenvwrapper

发现还是有问题,仔细一看堆栈信息:

Collecting six>=1.9.0 (from stevedore->virtualenvwrapper)
  Downloading http://pypi.douban.com/packages/py2.py3/s/six/six-1.10.0-py2.py3-none-any.whl
Installing collected packages: six, stevedore, virtualenvwrapper
  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 "/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-nGVqhl-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'

virtualenvwrapper 需要依赖 six,在安装 six 的时候发现系统已经有一个 six-1.4.1,但是 virtualenvwrapper 需要 six-1.9.0,于是想先卸载老版本的 six,此时问题来了,发现没有权限卸载,此时我就纳闷,加上sudo,还是没权限。

于是 Google 之,最终还是在万能的 GitHub 找到答案。系统用的是 OS X El-Capitan 版本,six-1.4.1 是系统内置的 packages,因系统集成保护你是没有权限去修改 /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info 目录的。因此在安装 virtualenvwrapper 的时候需要选择忽略six的安装:

sudo pip install virtualenvwrapper --upgrade --ignore-installed six

最终问题迎刃而解。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

遂心如意

文章 0 评论 0

5513090242

文章 0 评论 0

巷雨优美回忆

文章 0 评论 0

junpengz2000

文章 0 评论 0

13郎

文章 0 评论 0

qq_xU4RDg

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文