2010年2月

本文档将帮助你安装完成Diango。

安装Python

Django 是一个 Python 的开发框架,所以,在安装Diango之前,你必须已经安装了Python。

Diango 可以运行在任何 2.4 至 2.6 之间的 Python 版本上(因为 Python 3.0 还没有发布正式稳定版 ,所以Diango还没有发布基于Python 3.0 的版本),你可以从www.python.org下载Python的最新稳定版,如果你使用的是Mac OS X 或者Linux等操作系统,那么Python已经默认安装了。

安装Apache 和 mod_wsgi

如果你仅仅只是想体验一把 Diango,那么完全可以跳过本章节,国灰Diango已经内置了一个轻量级服务器供你测试使用,所以,在你准备真正把Diango投入到你的产品之前,没有必要安装Apache。

如果你想在你的产品中使用Diango,你需要使用启用了 mod_wsgi模块的Apache服务器,mod_wsgi与mod_perl十分想像,它可以将Python与Apache整合,当服务启动时,同时将Python代码加载到内存中,代码会随着一个Apache进程的创建而创建,并一直保存到这个进程的结束,请确宝你已经安装了Apache服务器,并激活了mod_wsgi模块支持。

你可以查看How to use Django with mod_wsgi这篇文章了解如何配置mod_wsgi。

如果因为某种原因你无法使用mod_wsgi,Django同时也提供了很多其它选择,最好的第二选择就是mod_wsgi的前身mod_python,另外,Diango遵循WSGI标准,他允许Django运行在各种不同的服务器环境下,在server-arrangements wiki page了解如何将Django安装到其它的服务器上。

准备好数据库

如果你想使用Django实用的数据库API,那么你必须确保你已经安装并运行了一个数据库服务器,Django支持很多类型的数据库,官方对PostgreSQL、MySQL、Oracle以及SQLite(SQLite不需要运行另一个数据库服务器)提供支持。

除了使用官方支持的数据库服务器,你还可以使用下面这些第三方提供的数据库支持:

  • Sybase SQL Anywhere
  • IBM DB2
  • Microsoft SQL Server 2005
  • ODBC

Django以及ORM功能在第三方支持的数据库上的运行都是非常有限的,每一个针对官方支持的数据库的查询在使用第三方支持的数据库的时候都必须转换成为第三方支持的查询。

在使用数据库服务之前,你还需要确保你已经安装了相应的Python数据库包。

  • 如果你使用PostgreSQL,你需要psycopg包,Django同时支持psycopg 1和psycopg 2,在你配置Django的数据库层时,请区分好你将使用的是postgresql(使用 psycopg 1)还是 postgresql_psycopg2(使用psycopg2)。
  • 如果你使用MySQL,你将需要MySQLdb,支持1.2.1p2及其以上版本,你同样需要阅读专门的MySQL文档。
  • 如果你使用SQLite和Python2.4,那么你需要有pysqlite,使用2.0.3及其以上版本,如果你使用Python 2.5,那么SQLite已经成为其标准库,所以你不需要重新安装其它的支持,你还需要阅读使用SQLite的注意事项。
  • 如果你使用Oracle,你将需要一份ox_Oracle复本,但是请认真阅读Oracle相关的注意事项以及重要说明,尤其是关于Oracle和ox_Oracle版本的信息。
  • 如果你使用的是第三方提供的数据库支持,那么请阅读第三方提供的说明性文档了解如何安装配置它们。

如果你想使用Django的 manage.py syncdb命令来自动在数据库中创建你的模型,那么需要确定Django有创建和修改数据库的权限,如果你是手工的方式创建数据库,那么只需要给予Django SELECTINSERTUPDATEDELETE权限就可以了。

如果你使用Django的测试框架来测试数据库查询,那么Django需要有创建一个测试数据库的权限。

移除任何旧版本的Django

如果你是从旧版本的Django升级到新的版本,那么你需要在安装新版本之前先移除旧版本的Django。

如果你是使用 setup.py install安装的Django,那么只需要从Python的 sites-packages目录中移除django目录即可。

如果你是从一个Python egg中安装,那么需要先移除 Django .egg文件,然后再移除easy-install.pth文件中对这个 egg文件的引用,这个文件也被存放在 site-packages目录中。

怎么找到 site-packages 目录的位置?

在不同的操作系统中,site-packages 目录的位置都是不一样的,并且与Python的版本也是相关的,要找到你的系统中 site-packages 目录的位置,只需要运行下面的命令即可:

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

注意,上面这段命令应该在Shell中运行,而不是Python窗口中。

安装Django 代码

你可以下载最新发布的特别版本Django或者获取最新的开发版本,不同的发布版的安装过程有些许的不一样。

不管你使用的是哪一个版本,安装都是十分简单的。

安装最新发布的特别版

查看你所下载的最新稳定版Django的distribution specific notes,找到是否已经提供了自动安装工具,稳定发布版一般都支持自动安装和升级。

安装官方正式发布版

  1. Django下载页面下载最新发布版;
  2. 解开下载得到的压缩包(示例:tar xzvf Django-NNN.tar.gz,其中的NNN就是你所下载的Django的版本号),如果你使用的是Windows系统,你可以使用命令行工具bsdtar工具或者GUI软件7-zip来解压该文件。
  3. 进入第二步中解压得到的目录(示例:cd Django-NNN);
  4. 如果你使用Linux、Max OS X或者其它类Unix系统,则可以在Shell中运行sudo python setup.py install来安装Django,如果你使用的是Windows系统,打开命令行对话框,以管理员身份运行setup.py intall命令。

以上命令会将Django安装到Python中的site-packages目录。

安装开发中的版本

跟踪Django的开发

如果你想随时都使用Django的最新版本,那么你需要随时注意the development timeline,同时你还需要随时注意the list of backwards-incompatible changes,这会让你随时了解最新版本Django的新功能,以及你是否应该升级到新版本(正式发布版中,对以前版本的任何修改都会以文档的形式发布)。

如果你想随时将你的Django代码更新到新的开发版本中,了解最新的Bugi修复列表,那么你可以根据以下步骤进行:

  1. 确定你的电脑已经安装了Subversion程序,并且你可以在Shell中以命令行的形式运行它(输入svn help测试你的机器是否支持svn)
  2. 以如下方式检查Django的最新开发版本(trunk):
    svn co code.djangoproject.com/svn/django/trunk/ django-trunk 
  3. 下一步,你需要确定Python解释器能加载Django代码,有很多办法可以实现这件事情,最常使用的方法就是,经Linux、ac OS X或者其它类Unix系统中,使用以下Shell命令:
    ln -s pwd/django-trunk/django SITE-PACKAGES-DIR/django

    在上面的代码中,你请将 SITE-PACKAGES-DIR"改成你自己的 site-packages路径。另一种选择是,你可以定义PYTHONPATH环境变量来包含django-trunk目录,这种办法在Windows系统中是最好的解决办法,因为在Windows系统中不支持Symbolic links

    关于Apache 和 mod_python


    如果你使用设置PYTHONPATH环境变量的方式,那么别忘记你还需要在Apache的配置文件做同样的事情,在Apache配置文件中设置PythonPath属性。更多信息,请查看怎么通过mod_python使用Django这篇文章。
  4. 在类Unix系统中,在你的系统路径下(如:/usr/local/bin)创建一个指向django-trunk/django/bin/django-admin.py文件的Symbolic Link,比如:
    ln -s pwd/django-trunk/django/bin/django-admin.py /usr/local/bin

    这会让你可以在任何路径下使用django-admin.py文件,而不必再输入这个文件的完整路径。在Windows系统中,你也可以将django-trunk/django/bin/django-admin.py复制到某个系统路径中,比如C:Python24Scripts

你没有必要去运行python setup.py因为你已经把该命令将做的事情在第三和第四步中都完成了。

如果你想更新你的Django的代码,只需要在django-trunk目录中运行svn update命令即可,Subversion将自动下载任何有过修改的文件。