安装Django时出错

时间:2014-07-02 19:46:03

标签: python django

我正在尝试在我昨天收到的新Mac上安装Django。我正在从Windows切换,但我认为这应该是一个很大的问题。每次我尝试安装版本1.6.5或开发版本时,我都会遇到同样的错误:

Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/commands/install.py", line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 1435, in install
    requirement.install(install_options, global_options, *args, **kwargs)
  File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 671, in install
    self.move_wheel_files(self.source_dir, root=root)
  File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 901, in move_wheel_files
    pycompile=self.pycompile,
  File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/wheel.py", line 215, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/wheel.py", line 205, in clobber
    os.makedirs(destdir)
  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'

Storing debug log for failure in /Users/Peter/Library/Logs/pip.log

5 个答案:

答案 0 :(得分:3)

尝试使用sudo,它对我有用:

sudo pip install django

答案 1 :(得分:2)

此错误是因为您的帐户没有任何权限访问安装目录。如果安装目录是系统拥有的目录,则可能需要以administrator"root" account登录。

以root身份登录:

sudo su

使用setup_tool您可以轻松升级django的版本。在Linux上,您可以使用以下命令安装easy_install

sudo apt-get install python-setuptools

然后运行:

 sudo easy_install --upgrade django

这将从PYTHON_PATH中删除当前的django路径,添加自己的路径,并将django升级到其最新版本。

答案 2 :(得分:1)

创建一个vitualenv已经为我解决了这个问题。我最近安装了Python3.4并希望使用Django 1.8.X。正如预期的那样,Sudo pip安装允许导入Django并与默认的python 2.7一起使用,但尝试导入生成的错误。我的解决方案汇集在不同的网站上 - 经过大约3个小时的调查后产生了......

在终端:

$ virtualenv -p /usr/local/bin etc/pythonX.X env

这会创建一个名为env的virtualenv,但是专门使用你想要的python版本。检查python版本所在的位置$ pythonX.X然后使用带-p标志的路径。使用$ python -V检查您是否正在使用正确的python。然后

$ source env/bin/activate

此时你可以pip install yourrequiredpackage

$pip install django 

所有好......跑步:

$python 
>>>import django
>>>django.VERSION

显示它已成功导入。 我希望这有帮助 - 首先发布S / O,所以希望我有正确回答的风格,这有帮助!所有的商品欢迎

答案 3 :(得分:0)

您正在尝试在全局python级别安装python并需要root权限才能安装其他库。你可以sudo pip install django来解决这个问题。

然而,最佳做法是使用虚拟环境。这允许您处理多个python项目,每个项目都有自己的库集合。 https://virtualenv.pypa.io/en/latest/

设置起来很简单:

首先安装pip,然后是virtualenv,如果你愿意的话,安装virtualenvwrapper:

sudo easy_install pip
sudo pip install virtualenv
sudo pip install virtualenvwrapper
mkdir ~/.virtualenv

将此添加到〜/ .profile

export WORKON_HOME=~/.virtualenv
source /usr/local/bin/virtualenvwrapper.sh

你已经定下来了。使用以下命令创建名为“temp”的新虚拟环境:

mkvirtualenv temp

开始在环境中工作:

workon temp

从此处,您可以pip install django作为当前用户。 要离开virtualenv,只需输入:

deactivate

此处有完整说明: http://virtualenvwrapper.readthedocs.org/en/latest/install.html

答案 4 :(得分:0)

在High Sierra上安装时,我遇到了相同类型的问题。就我而言,这是pip版本问题。偶

  

pip install --upgrade

无法升级pip版本。因此,我从文件夹中删除了旧的pip / pip2.7 / pip3,并开始了全新的刷新。安装了新的pip版本18。

  

卷曲https://bootstrap.pypa.io/get-pip.py -o get-pip.py

然后

  

python get-pip.py

那之后,这是一条小路。

在安装之前,使用

检查默认的python版本。
  

哪个python

命令。如果是3,那你就走了。否则,请打开bash配置文件并更改默认的python版本。 (虽然不推荐)。