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! 
#
posted @ 2015-04-16 00:58  小米飞猫  阅读(644)  评论(0编辑  收藏  举报