赞
踩
为了让不同的项目能够使用相同技术的不同版本并且互不影响所以会用到虚拟环境,简单来讲就是同时开发多个项目时项目之间不会互相影响。
安装虚拟环境模块: pip install virtualenv -i https://pypi.douban.com/simple
为了更好的管理虚拟环境,需要安装虚拟环境包装器模块:
pip install virtualenvwrapper-win -i https://pypi.douban.com/simple
创建虚拟环境: mkvirtualenv 虚拟环境名称
默认情况下,创建的虚拟环境目录所在的父目录为:C:\User\用户名\Envs 创建成功后,点击进去会发现里面有两个目录:Lib:储存安装第三方模块的目录,Scripts:储存执行的脚本文件,另外在Lib目录下的site-packages储存了安装的第三方模块文件
pip list 和pip freeze的使用:
pip list:查看python官方模块及后期通过 pip install 模块名 安装的模块
pip freeze:只能查看后期通过 pip install 模块名 安装的第三方模块,官方模块不会显示,可以生成依赖清单文件,语法格式:pip freeze > 依赖清单文件名, 例如:pip freeze > list.txt
退出虚拟环境:deactivate
查看所有虚拟环境:workon 或者使用 lsvirtualenv ls
激活(进入)指定虚拟环境:workon 虚拟环境名称
删除虚拟环境:rmvirtualenv 虚拟环境名称
自定义虚拟环境的储存路径:
1.新建环境变量workon_home,这个环境变量的值就是我们打算将新建的虚拟环境储存的目标路径,例如:WORKON_HOME = D:\python_app_env
2.新建虚拟环境查看申城目标路径是否在 D:\python_app_env目录下,注意必须打开新的命令窗口执行命令否则配置的环境变量workon_home不生效
3.打开新的命令窗口创建虚拟环境:mkvirtualenv python_env01 新建的虚拟环境就会储存在指定的目录下
pip install flask==1.1.4 -i https://pypi.douban.com/simple
flask的核心模块在于Workzeug(路由模块),Jinjia2模板引擎模块
这里我使用的flask是1.1.4版本,如果需要环境迁移这里可以在虚拟环境A中使用 pip freeze > 依赖清单文件名,生成依赖清单文件,接着在环境B中执行 pip install -r 依赖清单文件名(先前生成的依赖清单文件)虚拟环境A安装的第三方模块就会安装在虚拟环境B中。
flask程序的编写步骤:
1.安装flask模块:pip install flask==1.1.4 -i https://pypi.douban.com/simple
2.导入Flask类:from flask import Flask
3.实例化Flask对象:app = Flask(__name__)
4.启动flask程序:app.run()
app.url_map的功能:
封装了我们的访问规则对象组成的映射
映射([<Rule 访问规则(路由) 客户端提交方式 端点>,<Rule 访问规则(路由) 客户端提交方式 端点>,....])
Map([<Rule '/' (OPTIONS, HEAD, GET) -> index>,<Rule '/static/<filename>' (OPTIONS, HEAD, GET) -> static>])
调试模式:
默认情况下是关闭的,此时当我们修改了代码后服务器不会自动检测到最新代码后重启,观察控制台输出发现:Debug mode: off,说明默认情况下调试模式是关闭的,即debug=False
手工启动调试模式: app.run(debug=True)
观察控制台输出发现:Debug mode: on此时用户修改了代码后,观察控制台会自动出现:Detected change 说明自动检测到变化了,会自动重启服务
__name__的说明:
当前模块如果作为启动运行模块则__name__的值为__main__,当前模块如果被其它模块导入后使用时,此时__name__的值为模块名(主文件名)
编写程序时之所以加上:
if __name__ == "__main__":
测试当前模块功能的测试代码
当测试当前模块功能时__name__ == "__main__"为True可以执行测试代码
如果当前模块被其它模块导入后执行时,__name__ == "__main__"为False,即测试代码不会运行
app = Flask(__name__):
在实例化Flask对象后指定当前项目的主目录,当模块名不存在时以当前文件所在的目录为主目录在当前项目的主目录新建目录static,在static目录下新建文件index.html,使用:http://127.0.0.1:5000/static/index.html能够访问成功
static_url_path="/python":指定访问静态资源的前缀
static_folder="python":指定静态资源在当前主目录下存储时的目录名
app = Flask(__name__,static_url_path="/python",static_folder="python")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。