codecamp

安裝 Django

安裝 Django

在這一章,我們會開始建立第一個 Django 專案,並瞭解如何使用虛擬環境。

首先,请开启终端机,确定现在的位置是在目录底下:

我们先建立一个名为djangogirls的资料夹

mkdir djangogirls

並切換至剛剛建立的目錄下

cd djangogirls

虚拟环境 ( virtualenv )

在安裝 Django 之前,我们要先建立一個虚拟环境 ( virtual environment ) 。

我们可以直接开始安裝 Django ,但实际上,大多数人都會搭配使用虚拟环境。使用虚拟环境有许多优点:

  • 你的专案会拥有一个专属的独立 Python 环境
  • 不需要 root 权限,就可以安裝新套件。
  • 方便控管不同版本的套件,不用担心升级套件会影响到其专案。
  • 如果需要多人协作或在不同机器上跑同一个專案時,使用虚拟环境也可以确保环境一致性。

创建虚拟环境

在较旧的 Python 版本中,建立虚拟环境需要另外安裝。但 Python 3.3 已經加入 venv模组,可以直接使用。

那我们立刻开始,首先要创建一個虚拟环境资料夹VENV

Windows

如果有按照安裝教学,使用Django Environment开启终端机后,输入以下指令:

C:\Users\YOUR_NAME\djangogirls> python -m venv VENV

Linux / OS X

Linux 或 OS X 需要使用python3来建立虛拟环境,指令如下:

~/djangogirls$ python3 -m venv VENV

切换虚拟环境

虚拟环境建立完成后,我们可以透过activate 这个 script 来启动它。

記得未來在安裝新套件,或是要执行 Django相关指令时,都要先启动该专案的虛拟环境。

Windows

C:\Users\YOUR_NAME\djangogirls> VENV\Scripts\activate

Linux / OS X

~/djangogirls$ source VENV/bin/activate

如果无法使用source的话,可以用下列指令替代:

~/djangogirls$ . VENV/bin/activate

目前的虚拟环境

如果看到前面多了(虚拟资料夹名称),则表示已经成功切换至该虚拟环境。

Windows

(VENV) C:\Users\YOUR_NAME\djangogirls>

Linux / OS X

(VENV) ~/djangogirls$

安裝 Django 1.7 最新版本

开始安裝

Python 3.4 预先安裝了pip这个强大的套件管理工具,我们將使用它来安装 Django:

pip install "django<1.8"

这里需要特别注意,我们使用的指令是"django<1.8"。这样一来才可以确保我们安裝的是 Django 1.7 的最新版本

输入了应该会看到如下的信息,表示安裝成功

Downloading/unpacking django<1.8
Installing collected packages: django
Successfully installed django
Cleaning up...

注:如果你看到以 Fatal error in launcher 开头的输出,而不是上面的安裝成功信息,请改用 python -m pip install "django<1.8" 试试看。之后如果在使用 pip 时遇到类似问题,也可以试着在前面加上 python -m

确认安裝成功

最后,让我们最后來测试一下。

请在虛拟环境下指令入python,进入互动式命令列环境

(VENV) ~/djangogirls$ python

輸入以下的指令取得 Django 版本信息:

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

如果看见类似上面的信息,就代表安裝成功了!


Django 介紹
Project and apps
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }