zoukankan      html  css  js  c++  java
  • flask 快速入门01 之 `Hello World!`

    pyenv使用

    主要还是做一个记录,简单介绍一下pyenv的用法。有不妥的地方,高手请指正。

    这是我当前系统python版本,

    #pyenv versions
    * system (set by /root/.pyenv/version)  
      2.7.9
    

    使用的是python2.6.6

    #python -V
    Python 2.6.6
    

    创建一个python 2.7.9的环境,名字叫site

    #pyenv virtualenv 2.7.9 site
    New python executable in /root/.pyenv/versions/site/bin/python2.7
    Also creating executable in /root/.pyenv/versions/site/bin/python
    Installing setuptools, pip...done.
    Ignoring indexes: https://pypi.python.org/simple/
    Requirement already satisfied (use --upgrade to upgrade): setuptools in /root/.pyenv/versions/site/lib/python2.7/site-packages
    Requirement already satisfied (use --upgrade to upgrade): pip in /root/.pyenv/versions/site/lib/python2.7/site-packages
    Cleaning up...
    #pyenv versions
    * system (set by /root/.pyenv/version)
      2.7.9
      site  
    

    创建一个工作目录/workspace/site,并将site写到这个目录下的一个隐藏文件.python-version文件里,这样当你每次进入这个目录的时候,将会自动执行activate site启动你这个项目所需要调用的python环境,当你退出这个目录时,也会自动执行deactivate site。=_= 很方便吧~!

    #mkdir -p /workspace/site
    #echo site > /workspate/site/.python-version
    #cd /workspace/site/
    pyenv-virtualenv: activate site
    (site)
    #python -V
    Python 2.7.9
    (site)
    #cd ..
    pyenv-virtualenv: deactivate site
    #python -V
    Python 2.6.6
    

    现在我们来安装flask,本来打算跟上一篇一样一次部署一堆模块,但是想想还是一点点来吧,稳扎稳打。
    稍微提醒一下,安装任何模块尽量在你要运行的环境中安装,避免模块装错环境的情况。安装完以后进入python,并import flask检测是否导入成功。

    #pip install Flask==0.10.1
    Collecting Flask==0.10.1
      Using cached Flask-0.10.1.tar.gz
    Collecting Werkzeug>=0.7 (from Flask==0.10.1)
      Using cached Werkzeug-0.10.4-py2.py3-none-any.whl
    Collecting Jinja2>=2.4 (from Flask==0.10.1)
      Using cached Jinja2-2.7.3.tar.gz
    Collecting itsdangerous>=0.21 (from Flask==0.10.1)
      Using cached itsdangerous-0.24.tar.gz
    Collecting markupsafe (from Jinja2>=2.4->Flask==0.10.1)
      Using cached MarkupSafe-0.23.tar.gz
    Installing collected packages: Werkzeug, markupsafe, Jinja2, itsdangerous, Flask
      Running setup.py install for markupsafe
      Running setup.py install for Jinja2
      Running setup.py install for itsdangerous
      Running setup.py install for Flask
    Successfully installed Flask-0.10.1 Jinja2-2.7.3 Werkzeug-0.10.4 itsdangerous-0.24 markupsafe-0.23
    (site)
    #python
    Python 2.7.9 (default, Feb 10 2015, 01:40:34) 
    [GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import flask
    >>> 
    

    一个最小的应用

    这是官方文档提供的代码

    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
       return 'Hello World!'
    
    if __name__ == '__main__':
        app.run()
    

    编辑一个run.py文件,并把官方给的代码抄上,这里给了一个提示这里文件的命名不要叫flask.py,避免导入模块时,把当前flask.py当成模块导进去。

    #python run.py 
    * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)  
    #curl 'http://127.0.0.1:5000'
    Hello World!(site)
    #curl "http://192.168.1.21:5000"
    curl: (7) couldn't connect to host
    

    应用已经跑起来了,停止服务直接CTRL+C就可以了,现在只是跑在本地的5000端口上,所以你只能通过127.0.0.1:5000本地进行访问,从上边测试可以看到通过网卡配置的192.168.1.21是无法进行访问的。你可以使用一些web服务进行代理转发(例如:apache,nginx),也可以对run()启动参数进行修改,使其监听所有ip地址

    app.run(host='0.0.0.0', port=80, debug=True)    
    

    我们传递三个参数过去host配置0.0.0.0,意思是所有ip都可以进行访问,服务端口是80,开启debug模式。重启服务

    #python run.py 
    * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
    * Restarting with stat
    

    可以看到服务启动后的运行提示都变了,这样我们就任意访问了。

    #curl "http://127.0.0.1"
    Hello World!
    #curl "http://192.168.1.21"
    Hello World! 
    #
  • 相关阅读:
    vue中watch的详细用法
    Golang实现请求限流的几种办法
    观察者模式
    原创-阿里云上SLB暴露K8S服务-四层协议/七层协议
    K8S-HPA创建指南
    阿里云k8s-nas挂载指南
    非原创--mysql语言分类
    mysql命令
    MongoDB从节点支持读请求
    MongoDB用户权限管理
  • 原文地址:https://www.cnblogs.com/itflycat/p/4430795.html
Copyright © 2011-2022 走看看