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
相关推荐
web打印社区2 小时前
网页静默打印热敏小票:从 HTML 到出纸的完整指南
前端·javascript·vue.js·electron·pdf·html
剪刀石头布啊3 小时前
设计一个多计时任务的任务管理功能
前端
ModyQyW4 小时前
vite-plugin-uni-manifest 更新了什么
前端·typescript·uni-app
Asize5 小时前
AI 协作开发新范式:我用 SDD 做了个排版 npm 包
前端·人工智能
kyriewen7 小时前
我把今年流传的前端 AI 面试题整理了一遍——4 类场景题+回答框架(附速查表)
前端·面试·程序员
计算机魔术师7 小时前
国产多模态模型正面硬刚Opus旗舰:差距从30%缩到3%
前端
风骏时光牛马7 小时前
程序员进阶:深度思考,解锁职场成长的底层逻辑
前端
IT_陈寒7 小时前
用了Proxy才发现以前的JavaScript白写了
前端·人工智能·后端
爱丶不疚8 小时前
Eval: Agent 说的 Eval 是什么?从单测、TDD 到 Sentry 聊起
前端·ai编程·vibecoding
求道於盲8 小时前
python中的类型标注
前端