Python的Django框架安装全攻略


Posted in Python onJuly 15, 2015

Python 安装

Django本身是纯Python编写的,所以安装框架的第一步是确保你已经安装了Python。
Python版本

核心Django框架可以工作在2.3至2.6(包括2.3和2.6)之间的任何Python版本。 Django的可选GIS(地理信息系统)支持需要Python 2.4到2.6。

如果你不确定要安装Python的什么版本,并且你完全拿不定主意的话,那就选2.x系列的最新版本吧。 版本2.6。 虽然Django在2.3至2.6版之间的任意Python版本下都一样运行得很好,但是新版本的Python提供了一些你可能比较想应用在你的程序里的,更加丰富和额外的语言特性。 另外,某些你可能要用到的Django第三方插件会要求比Python 2.3更新的版本,所以使用比较新的Python版本会让你有更多选择。

Django和 Python 3.0

在写作本书的时候,Python3.0已经发布,但Django暂时还不支持。 Python3.0这个语言本身引入了大量不向后兼容的改变,因此,我们预期大多数主要的Python库和框架将花几年才能衔接,包括Django。

如果你是个Python新手并且正迷茫于到底是学习Python 2.x还是Python 3.x的话,我们建议你选择Python 2.x。
安装

如果使用的是 Linux 或 Mac OS X ,系统可能已经预装了 Python 。在命令提示符下 (或 OS X 的终端中) 输入 python ,如果看到如下信息,说明 Python 已经装好了: 在命令行窗口中输入python (或是在OS X的程序/工具/终端中)。 如果你看到这样的信息,说明 python 已经安装好了.

Python 2.4.1 (#2, Mar 31 2005, 00:05:10)
[GCC 3.3 20030304 (Apple Computer, Inc. build 1666)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

否则, 你需要下载并安装Python. 它既快速又方便,而详细说明可参考http://www.python.org/download/
安装 Django

任何时候,都有两个不同版本的Django供您选择。 最新的官方发行版和有风险的主干版本。 安装的版本取决于您的优先选择。 你需要一个稳定的通过测试的Django,或是你想要包括最新功能的版本,也许你可对Django本身作贡献,而把稳定作为代价?

我们推荐选定一个正式发布版本,但重要的是了解到主干开发版本的存在,因为在文档和社区成员中你会发现它被提到。
安装官方发布版

官方发布的版本带有一个版本号,例如1.0.3或1.1,而最新版本总是可以在http://www.djangoproject.com/download/找到。

如果您在用Linux系统,其中包括Django的包,使用默认的版本是个好主意。 这样,你将会通过系统的包管理得到安全的升级。

如果你的系统没有自带Django,你可以自己下载然后安装框架。 首先,下载名字类似于Django-1.0.2-final.tar.gz压缩文件。(下载到哪里无所谓,安装程序会把Django文件放到正确的地方。)解压缩之后运行setup.py install,像操作大多数Python库一样。

以下是如何在Unix系统上安装的方法:

tar xzvf Django-*.tar.gz 

  cd Django-* 

  sudo python setup.py install

Windows系统上,推荐使用7-Zip(http://www.djangoproject.com/r/7zip/)来解压缩.tar.gz文件。 解压缩完成后,以管理员权限启动一个DOS Shell(命令提示符),然后在名字以Django-开始的目录里执行如下命令:

python setup.py install

如果你很好奇: Django将被安装到你的Python安装目录`` 的site-package`` 目录(Python从该目录寻找第三方库)。 通常情况下,这个目录在/usr/lib/python2.4/site-packages。
安装Trunk版本

最新最好的django的开发版本称为trunk,可以从django的subversion处获得。 如果你想尝鲜,或者想为django贡献代码,那么你应当安装这个版本。

Subversion 是一种与 CVS 类似的免费开源版本控制系统,Django 开发团队使用它管理 Django 代码库的更新。 你可以使用 Subversion 客户端获取最新的 Django 源代码,并可任何时候使用 local checkout 更新本地 Django 代码的版本,以获取 Django 开发者所做的最近更新和改进。

请记住,即使是使用trunk版本,也是有保障的。 因为很多django的开发者在正式网站上就是用的trunk版本,他们会保证trunk版本的稳定性。

遵循以下步骤以获取最新的 Django 主流代码:

  •     确保安装了 Subversion 客户端。 可以从 http://subversion.tigris.org/ 免费下载该软件,并从 http://svnbook.red-bean.com/ 获取出色的文档。
  •     (如果你在使用Mac OS X 10.5或者更新的版本,你很走运,Subversion应该就可以安装Django。 你可以在终端上输入svn --version来验证。
  •     使用 svn co http://code.djangoproject.com/svn/django/trunk djtrunk 命令查看主体代码。
  •     找到你的python的site-packages目录。 一般为/usr/lib/python2.4/site-packages,如果你不确定,可以输入如下命令:
  • python -c 'import sys, pprint; pprint.pprint(sys.path)'
  •     上面的结果会包含site-packages的目录
  •     在site-packages目录下,创建一个文件django.pth,编辑这个文件,包含djtrunk目录的全路径 利润,此文件包含如下行:
/home/me/code/djtrunk
  •     将 djtrunk/django/bin 加入系统变量 PATH 中。该目录中包含一些像 django-admin.py 之类的管理工具。 此目录包含管理工具,例如:django-admin.py

提示:

如果之前没有接触过 .pth 文件,你可以从 http://www.djangoproject.com/r/python/site-module/ 中获取更多相关知识。

从 Subversion 完成下载并执行了前述步骤后,就没有必要再执行 python setup.py install 了,你刚才已经手动完成了安装!

由于 Django 主干代码的更新经常包括 bug 修正和特性添加,如果真的着迷的话,你可能每隔一小段时间就想更新一次。 在 djtrunk 目录下运行 svn update 命令即可进行更新。 当你使用这个命令时,Subversion 会联络 http://code.djangoproject.com ,判断代码是否有更新,然后把上次更新以来的所有变动应用到本地代码。 就这么简单。

最后,如果你使用trunk,你要知道使用的是哪个trunk版本。 如果你去社区寻求帮助,或是为Django框架提供改进,知道你使用的版本号是非常重要的。 因此,当你到社区去求助,或者为 django 提供改进意见的时候,请时刻记住说明你正在使用的 django 的版本号。 如何知道你正在使用的 django 的版本号呢?进入`` djtrunk`` 目录,然后键入 svn info ,在输出信息中查看 Revision: (版本:) 后跟的数字。 Django在每次更新后,版本号都是递增的,无论是修复Bug、增加特性、改进文档或者是其他。 在一些Django社区中,版本号甚至成为了一种荣誉的象征,我从[写上非常低的版本号]开始就已经使用Djano了。
测试Django安装

让我们花点时间去测试 Django 是否安装成功,并工作良好。同时也可以了解到一些明确的安装后的反馈信息。 在Shell中,更换到另外一个目录(不是包含Django的目录),然后输入python来打开Python的交互解释器。如果安装成功,你应该可以导入django模块了:

>>> import django
>>> django.VERSION
(1, 1, 0, final', 1)

交互解释器示例

Python 交互解释器是命令行窗口的程序,通过它可以交互式地编写 Python 程序。 要启动它只需运行 python 命令。

我们在交互解释器中演示Python示例将贯穿整本书。 你可以用三个大于号 (>>> )来分辨出示例,三个大于号就表示交互提示符。 如果你要从本书中拷贝示例,请不要拷贝提示符。

在交互式解释器中,多行声明用三个点 (...)来填补。 例如:

>>> print """This is a
... string that spans
... three lines."""
This is a
string that spans
three lines.
>>> def my_function(value):
...   print value
>>> my_function('hello')
hello

这三个在新行开始插入的点,是Python Shell自行加入的,不属于我们的输入。 但是包含它们是为了追求解释器的正确输出。 如果你拷贝我们的示例去运行,千万别拷贝这些点。

Python 相关文章推荐
跟老齐学Python之折腾一下目录
Oct 24 Python
简单介绍Python中的RSS处理
Apr 13 Python
基于进程内通讯的python聊天室实现方法
Jun 28 Python
python select.select模块通信全过程解析
Sep 20 Python
浅谈Python黑帽子取代netcat
Feb 10 Python
完美解决python中ndarray 默认用科学计数法显示的问题
Jul 14 Python
python高阶爬虫实战分析
Jul 29 Python
python爬虫 模拟登录人人网过程解析
Jul 31 Python
Django应用程序入口WSGIHandler源码解析
Aug 05 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
Aug 18 Python
pandas中的数据去重处理的实现方法
Feb 10 Python
解析目标检测之IoU
Jun 26 Python
python实现爬虫下载美女图片
Jul 14 #Python
Python实现查找系统盘中需要找的字符
Jul 14 #Python
Python删除空文件和空文件夹的方法
Jul 14 #Python
Python实现批量将word转html并将html内容发布至网站的方法
Jul 14 #Python
Python删除windows垃圾文件的方法
Jul 14 #Python
Python简单计算文件夹大小的方法
Jul 14 #Python
Python判断直线和矩形是否相交的方法
Jul 14 #Python
You might like
php shell超强免杀、减少体积工具实现代码
2012/10/16 PHP
PHP实现采集中国天气网未来7天天气
2014/10/15 PHP
PHP+mysql实现的三级联动菜单功能示例
2019/02/15 PHP
IE6与IE7中,innerHTML获取param的区别
2009/03/15 Javascript
javascript面向对象编程(一) 实例代码
2010/06/25 Javascript
jquery中动态效果小结
2010/12/16 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
2013/08/01 Javascript
jquery 3D 标签云示例代码
2014/06/12 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
2015/03/10 Javascript
详解JavaScript编程中正则表达式的使用
2015/10/25 Javascript
JavaScript中的各种操作符使用总结
2016/05/26 Javascript
js实现楼层效果的简单实例
2016/07/15 Javascript
微信小程序 教程之引用
2016/10/18 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
JS实现合并json对象的方法
2017/10/10 Javascript
react学习笔记之state以及setState的使用
2017/12/07 Javascript
JS实现的简单拖拽购物车功能示例【附源码下载】
2018/01/03 Javascript
tween.js缓动补间动画算法示例
2018/02/13 Javascript
如何使用vuex实现兄弟组件通信
2018/11/02 Javascript
学习node.js 断言的使用详解
2019/03/18 Javascript
[07:59]2014DOTA2叨叨刀塔 林熊猫称被邀请赛现场盛况震撼
2014/07/21 DOTA
在漏洞利用Python代码真的很爽
2007/08/26 Python
Python open()文件处理使用介绍
2014/11/30 Python
Python算法之求n个节点不同二叉树个数
2017/10/27 Python
详解Python中如何写控制台进度条的整理
2018/03/07 Python
Python使用装饰器模拟用户登陆验证功能示例
2018/08/24 Python
pandas ix &iloc &loc的区别
2019/01/10 Python
对Python定时任务的启动和停止方法详解
2019/02/19 Python
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
卡骆驰德国官方网站:Crocs德国
2019/03/29 全球购物
Parfumdreams英国:香水和化妆品
2019/05/10 全球购物
说说在weblogic中开发消息Bean时的persistent与non-persisten的差别
2013/04/07 面试题
高中生旷课检讨书
2014/10/08 职场文书
人代会简报
2015/07/21 职场文书
运动会宣传稿50字
2015/07/23 职场文书
无线电通信名词解释
2022/02/18 无线电