Flask安装及使用
virtualenv 的一个最大的缺点就是,每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。
一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,比如放到 ~/virtualenvs/,并对不同的虚拟环境使用不同的目录来管理。virtualenvwrapper 正是这样做的。并且,它还省去了每次开启虚拟环境时候的 source 操作,使得虚拟环境更加好用。
安装
windows系统
-
win徽标+r, 输入cmd, 打开命令行窗口
-
输入: pip install virtualenvwrapper-win
-
打开控制面板-系统和安全-系统-高级系统设置-环境变量-系统变量-点击新建,
-
变量名:输入 WORKON_HOME, 变量值:输入自定义的路径,确定保存即可
-
进入pthon的安装路径,我这里是C:\Program Files\python36\Scripts下,具体根据自己的安装路径
-
双击virtualenvwrapper.bat
-
重新打开cmd命令行窗口,即可使用
Linux系统
- 进入命令行界面
- pip install virtualenvwrapper(Linux)
- 首先,需要对 virtualenvwrapper进行配置。它需要指定一个环境变量,叫做WORKON_HOME,并且需要运行一下它的初始化工具 virtualenvwrapper.sh,这个脚本在 /usr/local/bin/ 目录下。WORKON_HOME 就是它将要用来存放各种虚拟环境目录的目录,这里我们可以设置为 ~/.virtualenvs。export WORKON_HOME='~/.virtualenvs' source /usr/local/bin/virtualenvwrapper.sh
- 由于每次都需要执行这两部操作,我们可以将其写入终端的配置文件中。例如,如果使用 bash,则添加到 ~/.bashrc 中;如果使用 zsh,则添加到 ~/.zshrc 中。这样每次启动终端的时候都会自动运行
一、Flask介绍
Flask的核心在于Werkzeug(路由模块), Jinja2模板引擎
类比Django:路由、模板、ORM
Flask要完成功能,依赖于丰富的插件(扩展模块)
常问问题:
1、Django与Flask有什么区别
二、环境搭建
virtualenvwrapper 来创建、管理我们的虚拟环境
开发中,我们一个项目是要对应应虚拟环境的。
1、安装 虚拟环境
pip install virtualenvwrapper-win
2、配置虚拟环境主目录
在windows上环境变量中 添加 环境变量 WORKON_HOME
配置上目录 D:\virtual_envs
3、虚拟环境操作
3.1 创建虚拟环境
mkvirtualenv 虚拟环境名
3.2 查看所有虚拟环境
workon
3.3 切换进入虚拟环境
workon 虚拟环境名
C:\Users\fan>workon xiaofa
(xiaofa) C:\Users\fan>
查看命令是否在虚拟环境中,要看 命令行的前缀是否有括号(虚拟环境名)
3.4 离开虚拟环境
deactivate
4、安装 flask
pip install flask==1.0.2
5、pip高级使用
-
导出环境中所有的包
pip freeze > requirements.txt
-
在环境中 批量安装包
pip install -r requirements.txt
创建虚拟环境
利用 virtualenvwrapper,我们可以使用下面的命令轻松创建一个虚拟环境。
mkvirtualenv spider
之后我们就有了一个叫做 spider 的虚拟环境。它被存放在 $WORKON_HOME/spider 目录下。
新建虚拟环境之后会自动激活虚拟环境。如果我们平时想要进入某个虚拟环境,可以用下面的命令。
workon spider
这也就是为什么环境变量中存放虚拟环境的目录为啥叫做WORKON_HOME。顺便说一句,workon 后面可是可以支持用 tab自动补全的哟。
同样,离开虚拟环境,可以使用。
deactivate
另外,删除虚拟环境也一样简单。
rmvirtualenv spider
三、flask项目配置
1、flask配置理解
app.config 是一个类字典的对象,里面已经有了很多默认的配置。我们可以向里面添加自己新的配置
# 配置信息
print(app.config)
app.config["room"] = "407"
app.config["MYSQL_HOST"] = "127.0.0.1"
-
从配置中获取配置变量对应的值
# 获取配置中的信息
print(app.config["room"])
print(app.config["MYSQL_HOST"])
2、配置对象加载
我们把配置信息 写入到一个类中,然后 去加载
配置类是:
配置类 我们写入到 settings模块 (settings.py)
# 定义一个配置类
# 属性 必须是 全大写
class Config:
# 配置 属性=值
ROOM = "407"
MYSQL_HOST = "127.0.0.1"
3、配置文件加载
我们直接把配置信息 写入到文件中,然后去加载
# 定义一个配置类
# 属性 必须是 全大写
ROOM = "3308"
MYSQL_HOST = "192.168.0.54"
4、环境变量中加载
我们在pycharm中定义一个环境变量,这个环境变量指向一个目录下的文件
我在桌面上创建一个a.txt文件 写入如下内容:
ROOM="999"
MYSQL_HOST="99.88.89.11"
在pycharm中定义一个环境变量 aaa 指向 a.txt文件
在flask中使用 这个环境变量aaa
app = Flask(__name__)
# app.config.from_object(Config)
# app.config.from_pyfile("settings.py")
app.config.from_envvar("aaa")
print(app.config.get("ROOM"))
print(app.config.get("MYSQL_HOST"))