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 30 Python
Python中str.format()详解
Mar 12 Python
pandas groupby 分组取每组的前几行记录方法
Apr 20 Python
浅谈python中对于json写入txt文件的编码问题
Jun 07 Python
Python实现多级目录压缩与解压文件的方法
Sep 01 Python
Python多版本开发环境管理工具介绍
Jul 03 Python
Django之路由层的实现
Sep 09 Python
详解Python list和numpy array的存储和读取方法
Nov 06 Python
使用Keras 实现查看model weights .h5 文件的内容
Jun 09 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
Jun 12 Python
Python利用myqr库创建自己的二维码
Nov 24 Python
Pycharm创建文件时自动生成文件头注释(自定义设置作者日期)
Nov 24 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脚本的10个技巧(4)
2006/10/09 PHP
Yii框架调试心得--在页面输出执行sql语句
2014/12/25 PHP
PHP实现搜索时记住状态的方法示例
2018/05/11 PHP
用javascript自动显示最后更新时间
2007/03/15 Javascript
javascript dom 基本操作小结
2010/04/11 Javascript
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
window.open的页面如何刷新(父页面)上层页面
2012/12/28 Javascript
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
jQuery 跨域访问解决原理案例详解
2016/07/09 Javascript
PHP+jquery+ajax实现分页
2016/12/09 Javascript
js图片上传的封装代码
2017/08/01 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
JS实现小球的弹性碰撞效果
2017/11/11 Javascript
详解vue axios用post提交的数据格式
2018/08/07 Javascript
深入理解Angularjs 脏值检测
2018/10/12 Javascript
微信小程序实现留言功能
2018/10/31 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
微信小程序实现拖拽功能
2019/09/26 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
node+vue实现文件上传功能
2020/05/28 Javascript
pyqt和pyside开发图形化界面
2014/01/22 Python
Python使用asyncio包处理并发详解
2017/09/09 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
tensorflow如何继续训练之前保存的模型实例
2020/01/21 Python
Pythonic版二分查找实现过程原理解析
2020/08/11 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
日本酒店、民宿、温泉旅馆、当地旅行团中文预订:e路东瀛
2019/12/09 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
西安众合通用.net笔试题
2013/03/18 面试题
大学毕业生简单自荐信
2013/11/05 职场文书
数控技术专科生自我评价
2014/01/08 职场文书
一份创业计划书范文
2014/02/08 职场文书
员工晚婚的请假条
2014/02/08 职场文书
供货协议书范本
2014/04/22 职场文书
读书之星事迹材料
2014/05/12 职场文书
小学生保护环境倡议书
2014/05/15 职场文书