当前位置:   article > 正文

Flask Web开发:基于Python的Web应用开发实战-第 1 章 安装_flask venv

flask venv

 1 章 安装

在大多数标准中,Flask都算是小型框架,小到可以称为“微框架”。Flask非常小,因此你一旦能够熟练使用它,很可能就能读懂它所有的源码。

但是,小并不意味着它比其他框架的功能少。Flask自开发伊始就被设计为可扩展的框架,它具有一个包含基本服务的强健核心,其他功能则可通过扩展实现。你可以自己挑选所需的扩展包,组成一个没有附加功能的精益组合,完全满足自身需求。

Flask有3个主要依赖:路由、调试和Web服务器网关接口(WSGI,Web server gateway interface)子系统由Werkzeug提供;模板系统由Jinja2提供;命令行集成由Click提供。这些依赖全都是Flask的开发者Armin Ronacher开发的。

Flask原生不支持数据库访问、Web表单验证和用户身份验证等高级功能。这些功能以及其他大多数Web应用需要的核心服务都以扩展的形式实现,然后再与核心包集成。开发者可以任意挑选符合项目需求的扩展,甚至可以自行开发。这和大型框架的做法相反,大型框架往往已经替你做出了大多数决定,难以(有时甚至不允许)使用替代方案。

本章介绍如何安装Flask。在这个过程中,你只需要一台安装了Python的计算机。

本书中的代码示例已在Python 3.5和Python 3.6中测试过。如果你愿意,也可以使用Python 2.7。不过这一版将在2020年后停止维护,因此强烈建议你使用3.x版。

如果你决定使用运行微软Windows系统的计算机,那么要做个选择:要么使用基于Windows的“原生”工具集,要么设置计算机,沿用基于Unix的主流工具集。本书中的代码基本上在两种方式下都能正常运行。本书采用Windows方式,IDE采用Visual Studio Code。

1.1 创建应用目录

首先,从GitHub或者百度云盘下载的示例代码ZIP,直接解压至工作硬盘中,例如D盘。我们将从第1章第1个示例代码开始开始。Win10键盘同时按下win+R,打开CMD,运行:

$ C:\Users\Administrator>d:

$ cd d:/flasky/flasky-1a

此时便进入了flasky-1a源代码文件夹,别急,我们还得先建立虚拟环境,用来执行这个项目(本书)的所有源代码。

1.2 虚拟环境

创建好应用目录之后,接下来该安装Flask了。安装Flask最便捷的方法是使用虚拟环境

虚拟环境是Python解释器的一个私有副本,在这个环境中你可以安装私有包,而且不会影响系统中安装的全局Python解释器。

虚拟环境非常有用,可以避免你安装的Python版本和包与系统预装的发生冲突。为每个项目单独创建虚拟环境,可以保证应用只能访问所在虚拟环境中的包,从而保持全局解释器的干净整洁,使其只作为创建更多虚拟环境的源。与直接使用系统全局的Python解释器相比,使用虚拟环境还有个好处,那就是不需要管理员权限。

1.3 在Python 3中创建虚拟环境

Python 3和Python 2解释器创建虚拟环境的方法有所不同。在Python 3中,虚拟环境由Python标准库中的venv包原生支持。

下面我们在flasky目录中创建一个虚拟环境。通常,虚拟环境的名称为venv,不过你也可以使用其他名称。确保当前目录是flasky,然后执行这个命令:

$ python -m venv venv

这个命令执行完毕后,flasky目录中会出现一个名为venv的子目录,这里就是一个全新的虚拟环境,包含这个项目专用的Python解释器。

在创建python虚拟环境的时候,如果使用的是Anaconda中集成的python -m venv venvdir就会出现不能安装pip的错误,原因是Anaconda没有ensurepip,解决办法是使用python -m venv --without-pip venv创建没有pip的虚拟环境,然后启动虚拟环境安装pip即可。

先下载get-pip.py,https://bootstrap.pypa.io/get-pip.py,然后运行:

(venv)$ python get-pip.py # 运行安装脚本

1.4 使用虚拟环境

若想使用虚拟环境,要先将其“激活”。如果使用微软Windows系统,激活命令是:

$ venv\Scripts\activate

虚拟环境被激活后,里面的Python解释器的路径会添加到当前命令会话的PATH环境变量中,指明在什么位置寻找一众可执行文件。为了提醒你已经激活了虚拟环境,激活虚拟环境的命令会修改命令提示符,加入环境名:

(venv) $

激活虚拟环境后,在命令提示符中输入python,将调用虚拟环境中的解释器,而不是系统全局解释器。如果你打开了多个命令提示符窗口,在每个窗口中都要激活虚拟环境。

虽然多数情况下,为了方便,应该激活虚拟环境,但是不激活也能使用虚拟环境。例如,为了启动venv虚拟环境中的Python控制台,在微软Windows中可以执行venv\Scripts\python命令。

虚拟环境中的工作结束后,在命令提示符中输入deactivate,还原当前终端会话的PATH环境变量,把命令提示符重置为最初的状态。

1.5 使用pip安装Python包

Python包使用包管理器pip安装,所有虚拟环境中都有这个工具。与python命令类似,在命令提示符会话中输入pip将调用当前激活的虚拟环境中的pip工具。

若想在虚拟环境中安装Flask,要确保venv虚拟环境已经激活,然后执行下述命令:

(venv) $ pip install flask -i https://pypi.tuna.tsinghua.edu.cn/simple

执行这个命令后,pip不仅安装Flask自身,还会安装它的所有依赖。任何时候都可以使用pip freeze或者pip list命令查看虚拟环境中安装了哪些包:

(venv) $ pip freeze

click==6.7

Flask==0.12.2

itsdangerous==0.24

Jinja2==2.9.6

MarkupSafe==1.0

Werkzeug==0.12.2

pip freeze命令的输出包含各个包的具体版本号。你安装的版本号可能与这里给出的不同。如果需要和开发者环境下的版本号相同,以避免各种未知BUG,则可以使用requirement.txt安装Python包。

1.6 使用requirements.txt

一般情况下,我们日常开发再网上找到一些参考项目时,作者通常会给出requirements.txt文件,其中就是包括了本次项目所需要用到的包及其具体版本号。批量安装命令:

(venv) $ pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

当项目完成或部署时,需要生成requirements.txt文件:

(venv) $ pip freeze >requirements.txt

要想验证Flask是否正确安装,可以启动Python解释器,尝试导入Flask:

(venv) $ python

>>> import flask

>>>

如果没有看到错误提醒,那么恭喜你,你可以开始学习第2章的内容,了解如何编写你的第一个Web应用了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/790823
推荐阅读
相关标签
  

闽ICP备14008679号