Не удается обновить Pip. В разрешении отказано. Почему?

Я пытаюсь обновить pip на моем iMac, но я продолжаю получать ошибку отказа в разрешении. Я администратор, поэтому не знаю, что я сделал не так.

iMac:~ me$ pip install --upgrade pip
    You are using pip version 6.0.8, however version 7.1.2 is available.
    You should consider upgrading via the 'pip install --upgrade pip' command.
    Collecting pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-7.1.2-py2.py3-none-any.whl#md5=5ff9fec0be479e4e36df467556deed4d
      Downloading pip-7.1.2-py2.py3-none-any.whl (1.1MB)
        100% |################################| 1.1MB 181kB/s 
    Installing collected packages: pip
      Found existing installation: pip 6.0.8
        Uninstalling pip-6.0.8:
          Exception:
          Traceback (most recent call last):
            File "/Library/Python/2.7/site-packages/pip-6.0.8-py2.7.egg/pip/basecommand.py", line 232, in main
              status = self.run(options, args)
            File "/Library/Python/2.7/site-packages/pip-6.0.8-py2.7.egg/pip/commands/install.py", line 347, in run
              root=options.root_path,
            File "/Library/Python/2.7/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_set.py", line 543, in install
              requirement.uninstall(auto_confirm=True)
            File "/Library/Python/2.7/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_install.py", line 667, in uninstall
              paths_to_remove.remove(auto_confirm)
            File "/Library/Python/2.7/site-packages/pip-6.0.8-py2.7.egg/pip/req/req_uninstall.py", line 126, in remove
              renames(path, new_path)
            File "/Library/Python/2.7/site-packages/pip-6.0.8-py2.7.egg/pip/utils/__init__.py", line 316, in renames
              shutil.move(old, new)
            File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 300, in move
              rmtree(src)
            File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 247, in rmtree
              rmtree(fullname, ignore_errors, onerror)
            File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 252, in rmtree
              onerror(os.remove, fullname, sys.exc_info())
            File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 250, in rmtree
              os.remove(fullname)
          OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/pip-6.0.8-py2.7.egg/EGG-INFO/dependency_links.txt'

Я не знаю, что я сделал неправильно здесь, как обновление, кажется, довольно простой.

спасибо,

3 ответов


pip для установки требуется высота

sudo pip install --upgrade pip

только потому, что вы в настоящее время используете учетную запись администратора, не означает, что команда будет работать с повышением, если вы не укажете sudo


вы должны использовать sudo поскольку вы обновляете pip "глобально". Я предпочитаю устанавливать доморощенного и пусть Homebrew управляет всем.

  1. установить Xcode из App Store
  2. Установить Homebrew - ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  3. Установить Python - brew install python, который также устанавливает pip.

С помощью этой установки все устанавливается локально, что не требует запуска sudo.

надеюсь, это поможет.


Вы можете сделать одним из двух способов:

  1. chown -R user /path/to/file более подробную информацию можно найти в этой так post, хотя это не относится к точной проблеме, она имеет дело с той же проблемой
  2. быстрый и грязный способ просто сделать pip install --upgrade pip Как уже было сказано. Однако многие пользователи будут возражать против этого.