Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 不能;sudo-pip-uninstall“;在OS X El Capitan中不允许操作(/tmp)_Macos_Python 2.7_Pip - Fatal编程技术网

Macos 不能;sudo-pip-uninstall“;在OS X El Capitan中不允许操作(/tmp)

Macos 不能;sudo-pip-uninstall“;在OS X El Capitan中不允许操作(/tmp),macos,python-2.7,pip,Macos,Python 2.7,Pip,前言:我的OS X Python安装是一堆乱七八糟的东西。在我发现自制软件之前,我就开始使用系统Python。所以我一直在使用sudopip安装。我现在正在尝试清理所有内容,然后根据自制的Python安装/链接pip包 1) 在许多这样的答案中,人们建议这样做:pip freeze | xargs sudo pip uninstall-y,这对我不起作用。我得到了很长的回溯。以下是其中最具代表性的部分: ~ $ pip freeze | xargs sudo pip uninstall -y Y

前言:我的OS X Python安装是一堆乱七八糟的东西。在我发现自制软件之前,我就开始使用系统Python。所以我一直在使用
sudopip安装
。我现在正在尝试清理所有内容,然后根据自制的Python安装/链接pip包

1) 在许多这样的答案中,人们建议这样做:
pip freeze | xargs sudo pip uninstall-y
,这对我不起作用。我得到了很长的回溯。以下是其中最具代表性的部分:

~ $ pip freeze | xargs sudo pip uninstall -y
You are using pip version 7.1.2, however version 8.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
The directory '/Users/smaniato/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Uninstalling altgraph-0.10.2:
Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 211, in main
[...]
Error: [('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/altgraph/__init__.py', '/tmp/pip-p8yIlU-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/altgraph/__init__.py', "[Errno 1] Operation not permitted: '/tmp/pip-p8yIlU-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/altgraph/__init__.py'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/altgraph/__init__.pyc', '/tmp/pip-p8yIlU-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/altgraph/__init__.pyc',
[...]
"[Errno 1] Operation not permitted: '/tmp/pip-p8yIlU-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/altgraph'")]
其中,
altgraph
只是
pip列表中的第一个pip包(请记住)

2) 然后我尝试了
pip freeze | xargs sudo-H pip uninstall-y
,正如警告所建议的那样,但这只是删除了警告。错误消息仍然存在

3) 我还尝试浏览任何引起投诉的目录(例如,
~/Library/Caches/pip
及其一些家长和孩子)。出于某种原因,我无法
chown
最有问题的目录
/tmp

~ $ sudo chown -R ${USER} /tmp
chown: /tmp: Operation not permitted
4) 最后,我试着手动卸载列表下面的一个包,瞧,我可以轻松地执行
sudopip卸载virtualenv
。试图手动卸载altgraph会导致上述相同错误

有什么办法吗?记住,我不在乎任何一个包裹;我只想使用自制的Python来nuke pip并从头开始。谢谢

更新:

  • 手动向下查看列表,同样的情况也会发生在
    bdist-mpkg-0.5.0
  • 还有一些:
    matplotlib
    zope.interface
    xattr
    six
    scipy
    pytz

  • 不要使用自制软件、MacPorts或内置Python。这些是最终会以某种方式失败的嵌套解决方案(PEP20:flat优于嵌套)。至少,您必须等待软件包管理系统注意到任何PyPI更新,或者退回到使用
    pip
    ,就像您在没有任何软件包管理器的情况下所做的那样。使用MacPorts仅安装需要编译和自定义的非Python项目(例如ATLAS)

    最简单的方法是从安装一个独立的Python(或者从二进制发行版,或者从源代码构建)。没有
    sudo
    ,请在您的用户下安装。然后:

    pip install -U pip setuptools virtualenvwrapper
    

    根据他们的文档从
    ~/.bashrc
    makevirtualenv foo
    中获取包装。所有其他工作将仅在虚拟环境中执行。如果您使用Python 3,那么
    virtualenv
    是解释器的一部分,因此您不需要
    virtualenvwrapper
    和与之相关的小舞蹈。

    我非常确定
    brew重新安装Python
    以某种方式修复了我遇到的一系列问题。然后,我还不得不在
    /usr/local/lib/python2.7/site包中使用nuke(即,
    rm-rf
    )一些东西


    与我的特定用例(OS X上的ROS安装)相关的问题和答案:

    谢谢。一段时间以来,我一直想开始使用
    virtualenv
    ;这个问题可能是我需要的推动力。我深入研究这一混乱局面的动机主要来自试图在OSX()上安装ROS。使用
    virtualenv
    可能有一种方法可以做到这一点,但我一直在按照说明进行操作。我想我曾经通过MacPorts安装过ROS,但如果下次再这样做,那么我更愿意从源代码安装。对于每一件事,第一次从源代码构建可能需要一些时间,但是它可以通过bash脚本自动完成。这很有帮助,谢谢!你从
    网站包中删除了什么?对不起,我不记得Lenar了。我想我删除了不是由
    pip放置在那里的东西