尝试运行 pip install ipython 时权限被拒绝

尝试运行 pip install ipython 时权限被拒绝

当我使用

pip install ipython

或者

pip install "ipython[notebook]"

我收到以下错误:

Downloading/unpacking ipython
  Downloading ipython-2.3.1-py27-none-any.whl (2.8MB): 2.8MB downloaded
Installing collected packages: ipython
Cleaning up...
Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1435, in install
    requirement.install(install_options, global_options, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 671, in install
    self.move_wheel_files(self.source_dir, root=root)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 901, in move_wheel_files
    pycompile=self.pycompile,
  File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 206, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 193, in clobber
    os.makedirs(destsubdir)
  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/IPython'

Storing debug log for failure in /home/username/.pip/pip.log

这个错误是什么意思?我该如何修复它?

答案1

您可以同时安装默认 Ubuntu 存储库中的默认版本 IPython 和 IPython 2.3.1。

  1. 使用以下命令从默认 Ubuntu 存储库安装 IPython:

    sudo apt-get install ipython ipython3 # ipython is available in 18.04 and earlier
    
  2. 在虚拟环境中安装 IPython 2.3.1。虚拟环境允许您创建一个沙盒隔离的环境,可以在其中安装 Python 包而不会干扰同一台计算机上的其他包。安装 Python 虚拟环境创建器 (虚拟环境):

    sudo apt-get install python-virtualenv virtualenv 
    

    为 Python 设置虚拟环境(有关 virtualenv 基本用法的信息),从终端激活你的 Python 虚拟环境,然后使用 安装当前版本的 IPython pip install

    pip install --user ipython 
    

这是在我的 Ubuntu 14.04 上使用默认 Ubuntu 存储库中的 IPython 和安装在 Python 虚拟环境中的 IPython 2.3.0 进行的(虚拟环境)。

答案2

首先,你应该以 root 身份输入:

sudo -i

然后运行你的命令

pip install ipython

答案3

我在 Ubuntu 14.04.2 LTS 上使用过它。

运行以下命令:

安装:

sudo apt-get install ipython3 ipython3-notebook

启动:

sudo ipython3 notebook

答案4

这是一个权限问题。让我们通过检查以下权限来说明这一点/usr/local/lib/python2.7

ls -ld /usr/local/lib/python2.7
>> drwxr-xr-x 4 root root 4096 Aug  1  2014 /usr/local/lib/python2.7

我们在这里可以看到这个目录属于用户 root。为了将 ipython 安装到这个目录中,您必须使该目录可写,或者以 root 身份运行安装命令。以 root 身份运行是最简单的方法:

sudo pip install ipython

或者,您可以使此目录及其所有内容由当前用户写入:

sudo chown -R `whoami` /usr/local/lib/python2.7

我不确定该目录是否应该由非root用户拥有,但这将允许您以非root用户身份使用 pip 安装。

相关内容