第1章:安装-Flask Web 开发(第2版)

本章你将学习到如何安装 Flask。唯一的要求是要有一台已经安装了 Python 环境的电脑。

本教程所有代码都在 Python 3.5 和 3.6 中通过测试。如果你愿意的话,也可以在 Python 2.7 里运行。只不过,该版本的 Python 将在 2020 年停止维护。强烈建议使用 Python 3.x

如果你使用的是 Windows,请安装相关的 Unix 模拟环境,比如Cygwin,以便更好地进行学习,及运行示例代码。当然,还是强烈建议使用 Mac 或 Linux 进行开发、学习。

创建应用目录

开始之前,需要为应用创建目录。

手动创建目录

mkdir flasky
cd flasky

从 git 仓库签出

你也可以在 git 仓库签出本章代码:

git clone https://github.com/miguelgrinberg/flasky.git
cd flasky
git checkout 1a

虚拟环境

现在,你已经创建了应用所需的目录。是时候为这个应用创建专属的虚拟环境了。

使用 Python3 创建虚拟环境

在 Python3 中,已经内置了创建虚拟环境的 venv 模块。

如果你使用的是 Debian/Ubuntu,Python3 的 venv 模块并没有安装。需要通过 apt 进行安装:sudo apt install python3-venv -y

以下是创建虚拟环境的命令结构:

python3 -m venv 虚拟环境名称

现在,应该给我们的 flasky 应用创建虚拟环境了。通常,我们把虚拟环境放在当前项目的根目录下,并将其命名为 venv

请确保当前所在的目录是 flasky 目录,然后执行下面的命令:

python3 -m venv venv

命令完成后,你应该能在 flasky 目录里看到一个名为 venv 的子目录。这个子目录就是虚拟环境,包含了项目专属的 Python 环境。

使用 Python 2 创建虚拟环境

Python2 并没有内置 venv 模块,而是通过一个为名 virtualenv 的第三方工具来创建虚拟环境。

首先,需要安装 virtualenv。 在 Linux/Mac OS 中,使用下面的命令来安装:

sudo pip install virtualenv

在 Windows 中,使用管理员权限运行“命令提示符”,然后使用下面的命令来安装:

pip install virtualenv

确保你现在所在的目录是 flasky。运行下面的命令创建虚拟环境:

virtualenv venv

在虚拟环境中工作

在开始使用虚拟环境之前,需要将其 activate(激活)。如果你使用 Linux/Mac OS,使用下面的命令来激活虚拟环境:

source venv/bin/activate

Windows 激活虚拟环境的命令是:

venv\Scripts\activate

虚拟环境激活后,该虚拟环境中的 Python 解释器(及相关的工具)都会添加到当前会话的 PATH 环境变量中。为了提醒你当前处于虚拟环境中,命令提示符将变成包含当前虚拟环境的名字,如下:

(venv) $

一旦激活了虚拟环境,执行 python 命令(以及其它相关命令)时,命令提示符将使用当前虚拟环境里的 Python 解释器(及相关工具)来代替操作系统里的对应命令。

也可以不激活虚拟环境,而直接使用虚拟环境里的 python 命令。在 Linux/Mac OS中:venv/bin/python;在 Windows 中:venv\Scripts\python

工作完毕后,可以使用 deactive 命令来关闭虚拟环境。一旦关闭了虚拟环境,将使用操作系统上的 python 解释器(及相关工具)。

使用 pip 来安装 Python 包

要在虚拟环境中安装 Flask,请先确保已经激活了虚拟环境,然后执行以下命令:

(venv) $ pip install flask

可以随时通过 pip freeze 命令查看当前虚拟环境里已安装的包:

(venv) $ pip freeze

该命令会输出以下内容:

click==6.7
Flask==0.12.2
itsdangerous==0.24
Jinja2==2.9.6
MarkupSafe==1.0
Werkzeug==0.12.2

还可以通过以下方式来确定 flask 是否安装:

(venv) $ python
>>> import flask
>>>

如果没有报错,说明 flask 已经安装成功。

本文并非《Flask Web Development(2nd edition)》的全文翻译。而只是在阅读该书时,对自认为重点的内容进行记录以及思考。由于水平有限,本文所述内容难免出现不足或错误。请通过购买正版图书来进行更系统地学习,原书地址。本站将依照本系列文章录制视频教程,届时本文未作记录的部分以及项目实际开发中所需要的知识都会在视频教程中进行补充。

flask Flask Web Development(2nd edition) 2018-03-25 13:53 2405943