pip upgrade OSError: [Errno:13] Permission Denied

2022-01-11 00:00:00 python operating-system pip ubuntu

问题描述

我需要在我的 Ubuntu 系统上升级 pip,但出现错误:

I need to upgrade pip on my Ubuntu system but I am getting error:

Collecting pip
  Using cached pip-9.0.1-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 8.1.2
    Uninstalling pip-8.1.2:
      Successfully uninstalled pip-8.1.2
  Rolling back uninstall of pip
Exception:
Traceback (most recent call last):
  File "/home/shivams334/.local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/home/shivams334/.local/lib/python2.7/site-packages/pip/commands/install.py", line 317, in run
    prefix=options.prefix_path,
  File "/home/shivams334/.local/lib/python2.7/site-packages/pip/req/req_set.py", line 742, in install
**kwargs
  File "/home/shivams334/.local/lib/python2.7/site-packages/pip/req/req_install.py", line 831, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/home/shivams334/.local/lib/python2.7/site-packages/pip/req/req_install.py", line 1032, in move_wheel_files
    isolated=self.isolated,
  File "/home/shivams334/.local/lib/python2.7/site-packages/pip/wheel.py", line 346, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/home/shivams334/.local/lib/python2.7/site-packages/pip/wheel.py", line 317, in clobber
    ensure_dir(destdir)
  File "/home/shivams334/.local/lib/python2.7/site-packages/pip/utils/__init__.py", line 83, in ensure_dir
    os.makedirs(path)
  File "/usr/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/pip-9.0.1.dist-info'
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

也许我应该使用chown",但不知道如何使用它.请帮忙.

Maybe I should go with 'chown' but don't know how to use it. Please help.


解决方案

由于您要升级系统范围的 Python,您需要以管理员权限运行此命令:

Since you want to upgrade your system-wide Python, you need to run this command with administrator privilege:

sudo pip install -U pip

但是,我建议您不要更改/污染您的系统范围的 Python.而是使用 virtualenv:

But, I recommend you not changing/polluting your system-wide Python. Instead use a virtualenv:

virtualenv myapp
source myapp/bin/activate
pip install -U pip  # <- only if virtualenv is not up to date

相关文章