在安装Django时出现OSError:[Errno 13] Permission denied错误

3

我正在使用刚安装的Ubuntu 14.04系统,已经安装了pip和virtualenvironment,但是当我尝试安装Django时,出现以下错误信息:

name@computername:/$ pip install django
Collecting django
  Using cached Django-1.7.4-py2.py3-none-any.whl
Installing collected packages: django

  Exception:
  Traceback (most recent call last):
    File "/usr/local/lib/python2.7/dist-packages/pip-6.0.7-py2.7.egg/pip/basecommand.py", line 232, in main
      status = self.run(options, args)
    File "/usr/local/lib/python2.7/dist-packages/pip-6.0.7-py2.7.egg/pip/commands/install.py", line 347, in run
      root=options.root_path,
    File "/usr/local/lib/python2.7/dist-packages/pip-6.0.7-py2.7.egg/pip/req/req_set.py", line 549, in install
      **kwargs
    File "/usr/local/lib/python2.7/dist-packages/pip-6.0.7-py2.7.egg/pip/req/req_install.py", line 740, in install
      self.move_wheel_files(self.source_dir, root=root)
    File "/usr/local/lib/python2.7/dist-packages/pip-6.0.7-py2.7.egg/pip/req/req_install.py", line 949, in move_wheel_files
      isolated=self.isolated,
    File "/usr/local/lib/python2.7/dist-packages/pip-6.0.7-py2.7.egg/pip/wheel.py", line 234, in move_wheel_files
      clobber(source, lib_dir, True)
    File "/usr/local/lib/python2.7/dist-packages/pip-6.0.7-py2.7.egg/pip/wheel.py", line 205, in clobber
      os.makedirs(destdir)
    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/django'

然而,当我尝试在虚拟环境中安装时,它能够正常工作。

这可能与$PYTHONPATH有关吗?

(我认为这也会在我尝试在已经启动的项目上运行runserver时引起冲突。但如果这个问题没有解决,我会留下另一个问题。)

1个回答

7
您需要首先激活您的虚拟环境。请点击此处了解如何激活。
$ source PATH_TO_ENV/bin/env
$ pip install django

在新创建的虚拟环境中,也会有一个激活的shell脚本。对于Windows系统,提供了命令提示符和Powershell的激活脚本。

在Posix系统中,该脚本位于/ENV/bin/中。

如果不这样做,您将使用系统Python和系统库。这就是为什么会出现错误的原因。

如果需要将库安装到系统范围内,则需要root访问权限:

$ sudo pip install django

在虚拟环境中安装和运行Django很好。只有当我尝试在系统中执行时才会出现问题。我想在我的系统上也有一个副本以及我的虚拟环境。这是不必要的吗? - import-antigravity
要在系统范围内安装库,您需要 root 访问权限。请参见 UPD。 - Pavel Reznikov
我不知道我怎么错过了那个。谢谢你的答案! - import-antigravity

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接