【问题标题】:pip install django errorpip安装django错误
【发布时间】:2016-03-12 18:03:56
【问题描述】:

我正在尝试在终端中使用 pip 安装 django

但是,我总是遇到异常。最后一个错误总是“权限被拒绝”,我不明白为什么。任何帮助表示赞赏。

日志:

pip install django
You are using pip version 7.1.0, however version 8.1.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Collecting django
  Using cached Django-1.9.4-py2.py3-none-any.whl
Installing collected packages: django
Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip-7.1.0-py2.7.egg/pip/basecommand.py", line 223, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip-7.1.0-py2.7.egg/pip/commands/install.py", line 299, in run
    root=options.root_path,
  File "/Library/Python/2.7/site-packages/pip-7.1.0-py2.7.egg/pip/req/req_set.py", line 646, in install
    **kwargs
  File "/Library/Python/2.7/site-packages/pip-7.1.0-py2.7.egg/pip/req/req_install.py", line 813, in install
    self.move_wheel_files(self.source_dir, root=root)
  File "/Library/Python/2.7/site-packages/pip-7.1.0-py2.7.egg/pip/req/req_install.py", line 1008, in move_wheel_files
    isolated=self.isolated,
  File "/Library/Python/2.7/site-packages/pip-7.1.0-py2.7.egg/pip/wheel.py", line 339, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/Library/Python/2.7/site-packages/pip-7.1.0-py2.7.egg/pip/wheel.py", line 310, in clobber
    ensure_dir(destdir)
  File "/Library/Python/2.7/site-packages/pip-7.1.0-py2.7.egg/pip/utils/__init__.py", line 70, in ensure_dir
    os.makedirs(path)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/django'

【问题讨论】:

标签: python django pip


【解决方案1】:
sudo pip install django 

错误提示您无法访问目录(您没有足够的权限),因此您可以通过sudo 获得root 访问权限以获取权限。

【讨论】:

  • 这很奇怪,我通常不必使用sudo,但这确实有效。谢谢! @ForceBru
【解决方案2】:

pip 应该由有权写入site-packages 目录(在您的情况下为/Library/Python/2.7/site-packages/)的用户运行。您应该从root 用户或sudo 下运行它。

【讨论】:

  • 或者从一个你有写访问权限而不是 root 的虚拟环境中。
【解决方案3】:

我对 [Errno 13] 权限被拒绝的解决方案:

目标:安装包到system/virtualenv

为什么会出现这个问题? 因为除了 root 之外,您创建的其他用户没有写入站点包的权限,这就是您获得该用户的操作系统错误权限被拒绝的原因

如何解决?

确保你一直激活 virtualenv

源 bin/激活

假设,我创建了一个用户

(sampleEnv) sunny@ubuntu-512mb-lon1-01: pip install django

这将给出权限错误,而不是转移到根目录

$su -

(sampleEnv) root@ubuntu-512mb-lon1-01: pip install django

现在 root 有权写入站点包。

安装 django 后。切换回用户

$ su - 晴天

然后执行 pip freeze 你可以看到系统中安装的包并继续!

【讨论】:

    猜你喜欢
    • 2013-03-20
    • 1970-01-01
    • 2021-12-06
    • 2015-08-05
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    相关资源
    最近更新 更多