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实现跨文件全局变量的方法
Jul 07 Python
centos 下面安装python2.7 +pip +mysqld
Nov 18 Python
Django中的Model操作表的实现
Jul 24 Python
Python动态生成多维数组的方法示例
Aug 09 Python
Python爬虫小技巧之伪造随机的User-Agent
Sep 13 Python
python: 自动安装缺失库文件的方法
Oct 22 Python
Pycharm取消py脚本中SQL识别的方法
Nov 29 Python
Python3内置模块random随机方法小结
Jul 13 Python
在Python函数中输入任意数量参数的实例
Jul 16 Python
NumPy中的维度Axis详解
Nov 26 Python
pytorch快速搭建神经网络_Sequential操作
Jun 17 Python
使用Python文件读写,自定义分隔符(custom delimiter)
Jul 05 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队列用法实例
2014/11/05 PHP
php获取CSS文件中图片地址并下载到本地的方法
2014/12/02 PHP
php的crc32函数使用时需要注意的问题(不然就是坑)
2015/04/21 PHP
PHP浮点比较大小的方法
2016/02/14 PHP
PHP简单实现正则匹配省市区的方法
2018/04/13 PHP
建议大家看下JavaScript重要知识更新
2007/07/08 Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
javascript常用的正则表达式实例
2014/05/15 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
2016/11/16 Javascript
jQuery实现自动调用和触发某个事件的方法
2016/11/18 Javascript
javascript事件的传播基础实例讲解(35)
2017/02/14 Javascript
BootStrap 表单控件之单选按钮水平排列
2017/05/23 Javascript
nodejs使用http模块发送get与post请求的方法示例
2018/01/08 NodeJs
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
react-native动态切换tab组件的方法
2018/07/07 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
简单学习5种处理Vue.js异常的方法
2019/06/17 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
详解JavaScript 异步编程
2020/07/13 Javascript
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
[58:25]VP vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
使用Python多线程爬虫爬取电影天堂资源
2016/09/23 Python
python 类对象和实例对象动态添加方法(分享)
2017/12/31 Python
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
技术总监岗位职责
2013/12/05 职场文书
团队精神的演讲稿
2014/05/14 职场文书
新颖的化妆品活动方案
2014/08/21 职场文书
工作证明英文模板
2014/10/21 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
晚会开幕词
2015/01/28 职场文书
2016国庆促销广告语
2016/01/28 职场文书
TV动画《政宗君的复仇》第二季制作决定PV公布
2022/04/02 日漫
vue如何清除浏览器历史栈
2022/05/25 Vue.js