python创建一个简单的flask应用

下面用python在本地和服务器上分别创建一个简单的flask应用:

1.在pc本地

1)pip flask后创建一个简单的脚本flask_demo.py

python 复制代码
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'
  1. win+R进入命令行,切换到flask_demo.py的路径,执行
powershell 复制代码
flask run

启动应用

如果显示启动失败,可能的原因是:

设置FLASK_APP环境变量:在命令行中输入以下命令,将FLASK_APP环境变量设置为应用程序文件名(不包括.py扩展名):

set FLASK_APP=your_app_file_name(如flask_demo)

然后再次尝试运行应用程序。

可以看到这里已经启动成功。

此时,可以在本地浏览器访问:(默认是5000端口)

同一局域网内的设备也可以通过ip地址来访问。

  1. 在服务器上部署
    1)和本地类似,在服务器上创建脚本

    2)用virtualenvwrapper为flask应用单独创建一个虚拟环境
powershell 复制代码
 pip install virtualenvwrapper

安装virtualenvwrapper时,你无需在特定的目录下进行。可以在终端中直接运行pip install virtualenvwrapper命令来进行安装。这个命令会自动下载并安装virtualenvwrapper工具,无论你当前所在目录是什么,都不会影响安装过程。

安装好virtualenvwrapper后,我们在/data/flask_demo的目录下创建名为flask_demo的虚拟环境:

刷新一下,可以看到多了一个flask_demo的文件夹:

激活新建的虚拟环境:

powershell 复制代码
source /data/flask_demo/flask_demo/bin/activate

其中data/flask_demo/flask_demo 是虚拟环境的路径

可以看到已经切换成功。

3)在虚拟环境中下载依赖的pip包,如flask等:

查看当前虚拟环境中有哪些库:

可以看到,我们所需要的flask此时并不在虚拟环境中,因此需要进行手动下载。

4)在本地导出所在环境的pip依赖包:

先切换到虚拟环境所在的目录,激活该虚拟环境,然后执行

python 复制代码
pip freeze > requirements.txt

将得到本地环境中的所有依赖库:

将这个文件传到服务器,requirements.txt文件通常应该放在项目的根目录下,也就是包含项目代码的主目录中。

5)在2)步激活服务器的虚拟环境后,将requirements.txt文件中的依赖包同步到虚拟环境中,可以使用以下命令:

powershell 复制代码
pip install -r requirements.txt

可以看到已经在flask_demo这个虚拟环境中安装了requirements.txt中的依赖包

6)启动应用

powershell 复制代码
 export FLASK_APP=/data/flask_demo/flask_demo.py
 flask run

此时虽然可以在本地测试,但是无法在外网进行访问。

  1. 开放外网访问

我用的是腾讯云轻量服务器,其开放端口有两个需要设置的地方:

第一个在控制台的防火墙这里添加规则,开放自己需要的端口

第二个地方是在服务器内部防火墙,把端口打开

查询当前打开的端口

powershell 复制代码
firewall-cmd --list-all

这里就是打开的端口

如果此处没有自己想要的端口,则需要进行开放,如:

powershell 复制代码
firewall-cmd --permanent --add-port=62234/tcp && firewall-cmd --reload

此时,再运行py脚本

结果报错了

powershell 复制代码
ImportError: cannot import name 'EVENT_TYPE_OPENED' from 'watchdog.events' (/data/flask_demo/flask_demo/lib/python3.10/site-packages/watchdog/events.py)

更新一下watchdog

powershell 复制代码
pip install --upgrade watchdog

运行成功!

相关推荐
runepic4 分钟前
Python + PostgreSQL 批量图片分发脚本:分类、去重、断点续拷贝
服务器·数据库·python·postgresql
〝七夜5694 分钟前
JVM内存结构
java·开发语言·jvm
初级炼丹师(爱说实话版)4 分钟前
JAVA泛型作用域与静态方法泛型使用笔记
java·开发语言·笔记
codists6 分钟前
2025年11月文章一览
python
生而为虫13 分钟前
31.Python语言进阶
python·scrapy·django·flask·fastapi·pygame·tornado
言之。20 分钟前
Claude Code 实用开发手册
python
计算机毕设小月哥29 分钟前
【Hadoop+Spark+python毕设】中国租房信息可视化分析系统、计算机毕业设计、包括数据爬取、Spark、数据分析、数据可视化、Hadoop
后端·python·mysql
2***c43539 分钟前
Redis——使用 python 操作 redis 之从 hmse 迁移到 hset
数据库·redis·python
技术净胜40 分钟前
MATLAB二维绘图教程:plot()函数全解析(线条样式/颜色/标记/坐标轴设置)
开发语言·matlab
Slow菜鸟1 小时前
Java开发规范(八)| 安全规范—企业级应用的“架构级底线”
java·开发语言·安全