• python创建一个简单的flask应用


    下面用python在本地和服务器上分别创建一个简单的flask应用:
    1.在pc本地
    1)pip flask后创建一个简单的脚本flask_demo.py

    from flask import Flask
    
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        return 'Hello, World!'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    1. win+R进入命令行,切换到flask_demo.py的路径,执行
    flask run
    
    • 1

    启动应用

    如果显示启动失败,可能的原因是:
    设置FLASK_APP环境变量:在命令行中输入以下命令,将FLASK_APP环境变量设置为应用程序文件名(不包括.py扩展名):
    set FLASK_APP=your_app_file_name(如flask_demo)
    然后再次尝试运行应用程序。
    在这里插入图片描述
    可以看到这里已经启动成功。

    此时,可以在本地浏览器访问:(默认是5000端口)
    在这里插入图片描述
    同一局域网内的设备也可以通过ip地址来访问。

    1. 在服务器上部署
      1)和本地类似,在服务器上创建脚本
      在这里插入图片描述
      2)用virtualenvwrapper为flask应用单独创建一个虚拟环境
     pip install virtualenvwrapper
    
    • 1

    安装virtualenvwrapper时,你无需在特定的目录下进行。可以在终端中直接运行pip install virtualenvwrapper命令来进行安装。这个命令会自动下载并安装virtualenvwrapper工具,无论你当前所在目录是什么,都不会影响安装过程。
    安装好virtualenvwrapper后,我们在/data/flask_demo的目录下创建名为flask_demo的虚拟环境:
    在这里插入图片描述
    刷新一下,可以看到多了一个flask_demo的文件夹:
    在这里插入图片描述
    激活新建的虚拟环境:

    source /data/flask_demo/flask_demo/bin/activate
    
    • 1

    其中data/flask_demo/flask_demo 是虚拟环境的路径
    在这里插入图片描述
    可以看到已经切换成功。

    3)在虚拟环境中下载依赖的pip包,如flask等:
    查看当前虚拟环境中有哪些库:
    在这里插入图片描述
    可以看到,我们所需要的flask此时并不在虚拟环境中,因此需要进行手动下载。
    4)在本地导出所在环境的pip依赖包:
    先切换到虚拟环境所在的目录,激活该虚拟环境,然后执行

    pip freeze > requirements.txt
    
    • 1

    将得到本地环境中的所有依赖库:
    在这里插入图片描述
    将这个文件传到服务器,requirements.txt文件通常应该放在项目的根目录下,也就是包含项目代码的主目录中。
    5)在2)步激活服务器的虚拟环境后,将requirements.txt文件中的依赖包同步到虚拟环境中,可以使用以下命令:

    pip install -r requirements.txt
    
    • 1

    在这里插入图片描述
    可以看到已经在flask_demo这个虚拟环境中安装了requirements.txt中的依赖包
    6)启动应用

     export FLASK_APP=/data/flask_demo/flask_demo.py
     flask run
    
    • 1
    • 2

    此时虽然可以在本地测试,但是无法在外网进行访问。
    7) 开放外网访问
    我用的是腾讯云轻量服务器,其开放端口有两个需要设置的地方:
    第一个在控制台的防火墙这里添加规则,开放自己需要的端口
    在这里插入图片描述
    在这里插入图片描述
    第二个地方是在服务器内部防火墙,把端口打开
    查询当前打开的端口

    firewall-cmd --list-all
    
    • 1

    在这里插入图片描述
    这里就是打开的端口

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

    firewall-cmd --permanent --add-port=62234/tcp && firewall-cmd --reload
    
    • 1

    此时,再运行py脚本
    结果报错了

    ImportError: cannot import name 'EVENT_TYPE_OPENED' from 'watchdog.events' (/data/flask_demo/flask_demo/lib/python3.10/site-packages/watchdog/events.py)
    
    • 1

    更新一下watchdog

    pip install --upgrade watchdog
    
    • 1

    在这里插入图片描述
    运行成功!
    在这里插入图片描述

  • 相关阅读:
    Oracle触发器
    torch_scatter.scatter()的使用方法详解
    安装dolphinscheduler
    大数据个性化推荐,AWS终端用户解决方案
    混合灰狼和布谷鸟搜索优化算法(Matlab完整代码实现)
    [CTF] python的pip源更改及常用python库
    MySQL中对于事务的理解
    VS Code + Remote-ssh插件实现远程开发
    鸿鹄工程项目管理系统em Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统
    9.1学习报告
  • 原文地址:https://blog.csdn.net/nleqaaa/article/details/134103135