python web 开发 - 通过venv虚拟环境,进行Flask安装

python web 开发 - 通过venv虚拟环境,进行Flask安装

文章目录

  • [python web 开发 - 通过venv虚拟环境,进行Flask安装](#python web 开发 - 通过venv虚拟环境,进行Flask安装)
    • 1、关于Flask
    • [2、在Ubuntu 20.04上安装Flask](#2、在Ubuntu 20.04上安装Flask)
    • [3、创建 Hello World](#3、创建 Hello World)

1、关于Flask

在Ubuntu上有不同的方法来安装Flask。

Flask软件包包含在Ubuntu的官方仓库中,可以使用apt软件包管理器进行安装。这是在Ubuntu 20.04上安装Flask最简单的方法,但没有在虚拟环境中安装那么灵活。而且,软件库中包含的版本可能落后于Flask的最新版本。

虚拟环境允许你为不同的Python项目创建一个孤立的环境。这样,你可以在一台电脑上拥有多个不同的Flask环境,并按项目安装特定版本的模块,而不用担心会影响其他Flask的安装。如果你把Flask安装到全局环境中,那么你的电脑上只能安装一个Flask版本。

在这篇文章中,我们将讨论如何在Ubuntu 20.04的Python虚拟环境中安装Flask。

2、在Ubuntu 20.04上安装Flask

在Ubuntu 20.04上安装的是Python 3.8。你可以通过输入以下内容来验证Python是否安装在你的系统上

复制代码
$ python3 -V

输出结果应该如下。

复制代码
$Python 3.8.5

创建虚拟环境的推荐方法是使用venv模块,它由python3-venv包提供。运行下面的命令来安装该包。

复制代码
$ sudo apt install python3-venv

一旦模块安装完毕,我们就可以为Flask应用程序创建一个虚拟环境了。

导航到你要存储Python 3虚拟环境的目录。它可以是你的主目录或其他任何你的用户有读写权限的目录。

为 Flask 应用程序创建一个新目录并切换到该目录。

复制代码
$ mkdir flask_app && cd flask_app

在该目录中运行以下命令来创建虚拟环境。

复制代码
$ python3 -m venv venv

该命令将创建一个名为 venv 的目录,其中包含 Python 二进制文件、Pip 包管理器、标准 Python 库和其他支持文件的副本。你可以为这个虚拟环境使用任何你想要的名字。

要开始使用这个虚拟环境,你需要用 activate 脚本来激活它。

复制代码
$ source venv/bin/activate

一旦激活,虚拟环境的bin目录将被添加到$PATH变量的开头。你的shell的提示符也会改变,显示你当前使用的虚拟环境的名称。在这个例子中,它是venv。

现在虚拟环境被激活了,使用Python软件包管理器pip来安装Flask。

复制代码
$ pip install Flask

在虚拟环境中,你可以使用命令 pip 而不是 pip3,使用 python 而不是 python3。

为了验证安装情况,运行下面的命令,它可以打印Flask的版本。

复制代码
$ python -m flask --version

在写这篇文章的时候,Flask的最新官方版本是1.1.2

复制代码
$ Python 3.8.5
$ Flask 1.1.2
$ Werkzeug 1.0.1

你的Flask版本可能与本例中显示的版本不同。

3、创建 Hello World

我们将创建一个简单的hello world应用程序,它将简单地打印 "Hello World!"。

打开你的文本编辑器或Python IDE,创建以下文件。

~/flask_app/hello.py

复制代码
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

下面是代码的作用:

1、第一行导入Flask类。

2、第二行创建了一个Flask类的新实例。

3、route()装饰器被用来为/路由注册hello_world函数。当这个路由被请求时,该函数被调用,并将消息 "Hello World!"返回给客户端。

将文件保存为hello.py,然后回到你的终端窗口。

我们将使用flask命令来运行该应用程序,但在此之前,我们需要通过设置FLASK_APP环境变量来告诉shell该应用程序的工作。

复制代码
$ export FLASK_APP=hello.py
$ flask run

上面的命令将启动开发内置服务器。

输出将看起来像下面这样。

复制代码
 * Serving Flask app "hello.py"
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

如果你在虚拟机上安装了Flask并想访问Flask开发服务器,你可以通过在flask运行命令中添加--host=0.0.0.0来使该服务器公开可用。

在你的网络浏览器中打开http://127.0.0.1:5000 ,你会看到 "Hello World!"的信息。

要停止开发服务器,请在终端上输入CTRL-C。

一旦你完成了你的工作,通过输入deactivate来停用环境,你将返回到你的正常shell。

复制代码
deactivate
相关推荐
谢尔登3 分钟前
【Webpack】模块联邦
前端·webpack·node.js
Bottle41420 分钟前
深入探究 React Fiber(译文)
前端
ERP老兵_冷溪虎山23 分钟前
Python/JS/Go/Java同步学习(第十三篇)四语言“字符串转码解码“对照表: 财务“小南“纸式转码术处理凭证乱码崩溃(附源码/截图/参数表/避坑指南)
java·后端·python
汤姆Tom26 分钟前
JavaScript Proxy 对象详解与应用
前端·javascript
xiaopengbc32 分钟前
在 React 中如何使用 useMemo 和 useCallback 优化性能?
前端·javascript·react.js
GISer_Jing34 分钟前
React 18 过渡更新:并发渲染的艺术
前端·javascript·react.js
全栈技术负责人1 小时前
前端网络性能优化实践:从 HTTP 请求到 HTTPS 与 HTTP/2 升级
前端·网络·http
独行soc1 小时前
2025年渗透测试面试题总结-67(题目+回答)
网络·python·安全·web安全·网络安全·adb·渗透测试
码上暴富1 小时前
Echarts雷达图根据数值确定颜色
前端·javascript·echarts
eybk2 小时前
用python的socket写一个局域网传输文件的程序
服务器·网络·python