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 生成不重复的随机数的代码
May 15 Python
简单的Python抓taobao图片爬虫
Oct 26 Python
Python爬虫框架Scrapy常用命令总结
Jul 26 Python
Python pyinotify模块实现对文档的实时监控功能方法
Oct 13 Python
Django 迁移、操作数据库的方法
Aug 02 Python
Django 自动生成api接口文档教程
Nov 19 Python
Python实现剪刀石头布小游戏(与电脑对战)
Dec 31 Python
python图形界面开发之wxPython树控件使用方法详解
Feb 24 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
May 17 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
Dec 01 Python
Python爬虫之Selenium鼠标事件的实现
Dec 04 Python
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
Jun 11 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
图书管理程序(二)
2006/10/09 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
2014/05/19 PHP
10个php函数实用却不常见
2015/10/13 PHP
详解YII关联查询
2016/01/10 PHP
总结PHP中DateTime的常用方法
2016/08/11 PHP
JS实现QQ图片一闪一闪的效果小例子
2013/07/31 Javascript
javascript函数定义的几种区别小结
2014/01/06 Javascript
JQuery中$(document)是什么意思有什么作用
2014/07/21 Javascript
原生javascript+css3编写的3D魔方动画旋扭特效
2016/03/14 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
JS实现元素上下左右移动效果
2017/10/18 Javascript
微信小程序数据分析之自定义分析的实现
2018/08/17 Javascript
使用react render props实现倒计时的示例代码
2018/12/06 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
Django中的文件的上传的几种方式
2018/07/23 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
python创建与遍历List二维列表的方法
2019/08/16 Python
python安装gdal的两种方法
2019/10/29 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
python实现数据结构中双向循环链表操作的示例
2020/10/09 Python
Python环境搭建过程从安装到Hello World
2021/02/05 Python
美国领先的家庭智能音响系统品牌:Sonos
2018/07/20 全球购物
巴西最大的玩具连锁店:Ri Happy
2020/06/17 全球购物
Ejb技术面试题
2015/04/29 面试题
酒店端午节促销方案
2014/02/18 职场文书
员工入职担保书范文
2014/04/01 职场文书
交通安全横幅标语
2014/10/07 职场文书
2014年个人工作总结报告
2014/11/27 职场文书
党员志愿者服务倡议书
2015/04/29 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书
Html5获取用户当前位置的几种方式
2022/01/18 HTML / CSS
【海涛DOTA】D-cup邀请赛NV.cn vs DT.Love
2022/04/01 DOTA
解决vue自定义组件@click点击失效问题
2022/04/30 Vue.js