背景说明
本项目是基于《深入理解flask》一书,主要是用来记录学习历程和交流心得,所以写得不好请大神勿喷。
准备工作
virtualenv介绍
也许 Virtualenv 是你在开发中最愿意使用的,如果你在生产机器上有 shell 权限的时候,你也会愿意用上 virtualenv。
virtualenv 解决了什么问题?如果你像我一样喜欢 Python 的话,有很多机会在基于 Flask 的 web 应用外的其它项目上使用 Python。 然而项目越多,越有可能在不同版本的 python,或者至少在不同 python 库的版本上工作。 我们需要面对这样的事实:库破坏向后兼容性的情况相当常见,而且零依赖的正式应用也不大可能存在。 如此,当你的项目中的两个或更多出现依赖性冲突,你会怎么做?
Virtualenv 的出现解决这一切!Virtualenv 能够允许多个不同版本的 Python 安装,每一个服务于各自的项目。 它实际上并没有安装独立的 Python 副本,只是提供了一种方式使得环境保持独立。
---摘自flask官网
virtualenv是一个独立的环境,它不会破坏你现有机器上的全局环境。--也称为沙盒环境。
1、安装virtualenv
如果你在 Mac OS X 或 Linux下,用以下命令来安装:
sudo easy_install virtualenv或者sudo pip install virtualenv
一旦成功安装 virtualenv,运行 shell 创建自己的环境。我通常会创建一个项目文件夹,其下创建 venv 文件夹:
$ mkdir myproject
$ cd myproject
$ virtualenv venv
New python executable in venv/bin/python
Installing distribute............done.
查看这条命令干了什么事情:它将本机的python开发环境拷贝了一份,甚至包括pip。
# tree venv/ -L 2
venv/
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── activate_this.py
│ ├── alembic
│ ├── easy_install
│ ├── easy_install-2.6
│ ├── gunicorn
│ ├── gunicorn_django
│ ├── gunicorn_paster
│ ├── mako-render
│ ├── pip
│ ├── pip2
│ ├── pip2.6
│ ├── python
│ ├── python2 -> python
│ ├── python2.6 -> python
│ ├── python-config
│ ├── uwsgi
│ └── wheel
├── include
│ └── python2.6 -> /usr/include/python2.6
├── lib
│ └── python2.6
├── lib64 -> lib
└── pip-selfcheck.json
6 directories, 21 files
2、激活环境
现在,只要你想要在某个项目上工作,只要激活相应的环境。在 OS X 和 Linux 下,使用如下命令:
$ . venv/bin/activate或者$source venv/bin/activate
如果你是个 Windows 用户,使用如下命令:
$ venvscriptsactivate
激活后,shell如下:
#
3.安装flask
沙盒环境准备好了,现在我们正式开始体验flask,先安装flask:
(venv)# pip install Flask
4.一个栗子
from flask import Flask
app=Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if__name__=='__main__':
app.run(host=0.0.0.0)
那么这段代码做了什么?
请按 control-C 来停止服务器。
最后,在浏览器上访问:http://yourip:5000