python pyramid基础学习二
python pyramid基础学习二
1.前言
前面我们使用了基础命令创建pyramid项目,并运行了Hello word,万事开头难,我们知道了开发pyramid项目需要一个env文件夹,里面包
含了运行基本环境
2.实战项目的基础环境
在任意目录下执行 pip install cookiecutter再执行 export PATH=$HOME/.local/bin:$PATH再执行: source ~/.bash_profile(可以编辑 ~/.bash_profile 文件将 PATH=$HOME/.local/bin:$PATH添加到文件当中去,永久生效)具体细节需要参考官网:https://cookiecutter.readthedocs.io/en/latest/first_steps.html
##3. 使用cookiecutter创建项目 myproject##
执行 cookiecutter gh:Pylons/pyramid-cookiecutter-starter --checkout 1.10-branch如果提示输入第一项,请yes按回车键接受默认设置。You've cloned ~/.cookiecutters/pyramid-cookiecutter-starter before.Is it okay to delete and re-clone it? [yes]: yesproject_name [Pyramid Scaffold]: myprojectrepo_name [myproject]: myprojectSelect template_language:1 - jinja22 - chameleon3 - makoChoose from 1, 2, 3 [1]: 1Select backend:1 - none2 - sqlalchemy3 - zodbChoose from 1, 2, 3 [1]: 1
##4.cookiecutter项目中添加虚拟环境##
1.先指定一个临时的环境变量,为了后续的操作
export VENV=/myproject/env
2.找到项目myproject,并执行相关命令
cd myproject
python3 -m venv $VENV
3.安装setuptools
env/bin/pip install --upgrade pip setuptools
4.执行安装
cd /myproject
$VENV/bin/pip install -e .
(改命令需要在myproject目录下执行,后面的点代表当前的目录,或者这么执行/myproject/env/bin/pip install -e .)
显示如下:
Running setup.py develop for myproject
Successfully installed Jinja2-2.8 Mako-1.0.6 MarkupSafe-0.23
PasteDeploy-1.5.2 Pygments-2.1.3 WebOb-1.7.0 myproject pyramid-1.7.3
pyramid-debugtoolbar-3.0.5 pyramid-jinja2-2.7 pyramid-mako-1.0.2
repoze.lru-0.6 translationstring-1.3 venusian-1.0 waitress-1.0.1
zope.deprecation-4.2.0 zope.interface-4.3.3
##5.添加测试环境支撑##
1.执行下面命令
$VENV/bin/pip install -e “.[testing]”
2.测试项目
$VENV/bin/pytest -q
##6.运行项目##
$VENV/bin/pserve development.ini
##7.注意事项##
1.我的阿里云服务器需要修改development.ini文件里面的localhost改为0.0.0.0不然无法进行绑定端口出现以下错误,应该是由于host文件配置有相关File "/data/test/app/env//bin/pserve", line 10, in <module>sys.exit(main())File "/data/test/app/env/lib/python3.7/site-packages/pyramid/scripts/pserve.py", line 34, in mainreturn command.run()File "/data/test/app/env/lib/python3.7/site-packages/pyramid/scripts/pserve.py", line 285, in runserver(app)File "/data/test/app/env/lib/python3.7/site-packages/paste/deploy/loadwsgi.py", line 195, in server_wrapper**context.local_conf)File "/data/test/app/env/lib/python3.7/site-packages/paste/deploy/util.py", line 55, in fix_callval = callable(*args, **kw)File "/data/test/app/env/lib/python3.7/site-packages/waitress/__init__.py", line 22, in serve_pasteserve(app, **kw)File "/data/test/app/env/lib/python3.7/site-packages/waitress/__init__.py", line 12, in serveserver = _server(app, **kw)File "/data/test/app/env/lib/python3.7/site-packages/waitress/server.py", line 88, in create_serversockinfo=sockinfo,File "/data/test/app/env/lib/python3.7/site-packages/waitress/server.py", line 239, in __init__self.bind_server_socket()File "/data/test/app/env/lib/python3.7/site-packages/waitress/server.py", line 368, in bind_server_socketself.bind(sockaddr)File "/data/test/app/env/lib/python3.7/site-packages/waitress/wasyncore.py", line 398, in bindreturn self.socket.bind(addr)
2.运行项目可以使用 $VENV/bin/pserve development.ini --reload 这个命令的意思是,当文件改变时会自动重新加载python文件
3.注意上面的临时环境变量VENV的路径正确性,或者运行的时候采用直接路径4.pyramid的项目集成到了pycharm开发工具里面去。这里主要是对官方文档的解释,以及实际应用中遇到些问题
5.最主要的核心是venv(env)文件夹,既然是虚拟环境文件夹,那么在不同系统当中,就需要重新新建,然后再把源代码迁移过,还能引申到python2.7升级到python3.7项目时,需要重新生成venv(env)文件夹
6.cookiecutter创建的各个文件内容,后续再献上,官网地址https://docs.pylonsproject.org/projects/pyramid/en/latest/narr/project.html#project-narr
python pyramid基础学习二相关推荐
- 软件测试Python编程基础学习分享
#博学谷IT学习技术支持# 目录 一.前言 二.python基础 2.1print函数的简单使用 2.2注释 2.2.1单行注释 2.2.2多行注释 2.3Python代码中三种波浪线和 PEP8 2 ...
- mysql用创建的用户登陆并修改表格_MySQL 基础学习二:创建一个用户表,并增删改查...
MySQL 基础学习二:创建一个用户表,并 增删改查 提示:MySQL 命令建议都用大写,因为小写运行时,还是翻译成大写的. 第一步,创建一个用户表 1,打开控制台,进入数据库 C:\Users\Ad ...
- 大数据基础学习二:在VMware虚拟机上安装Ubuntu完整步骤及需要注意的问题(以VMware Workstation 15.1.0 Pro和Ubuntu18.04.3优麒麟版为例)
大数据基础学习二:在VMware虚拟机上安装Ubuntu完整步骤及需要注意的问题 (以VMware Workstation 15.1.0 Pro for Windows和Ubuntu18.04.3优麒 ...
- Day2:python爬虫基础学习(大嘘)
Day2:python爬虫基础学习(大嘘)) 教材&参考: 学习过程 Sublime配置教程 下载&安装 语言(设置中文) 设置字体/配色 配置Python环境 使用python官方编 ...
- 1 python编程基础学习
1 python编程基础学习 1. 程序 2 python简介(了解) 3 python的开发环境的搭建 4 第一个python程序 4.1 常用的dos命令 4.2 交互式 4.3 使用pychar ...
- Verilog基础学习二
Verilog基础学习二 文章目录 Verilog基础学习二 一.always 块 1.阻塞性赋值和非阻塞性赋值 二.条件语句 1.if 语句 基本用法 2.避免引入锁存器 3.case 语句 4.c ...
- 第10期:Python零基础学习路线
大家好,我是你们的老朋友老王随聊,今天和大家讨论的话题--Python零基础应该怎么学? 通过这段时间和群里同学们交流,发现很多大学生甚至职场小白对Python学习路线不是很清晰,所以我花了一些时间给 ...
- Python机器学习基础篇二《监督学习》
前言 前期回顾: Python机器学习基础篇一<为什么用Python进行机器学习> 前面说过,监督学习是最常用也是最成功的机器学习类型之一.本章将会详细介绍监督学 习,并解释几种常用的监督 ...
- 一份超级详细的Python零基础学习资料(仅此一家,可能会被404抓紧收藏)
一.学习Python必备技能图谱 二.0基础如何系统学习Python? 一.Python的普及入门 1.1 Python入门学习须知和书本配套学习建议 1.2 Python简史 1.3 Python的 ...
最新文章
- 跟着Rocskdb 学 存储引擎:读写链路的代码极致优化
- 隐私保护新突破:高斯差分隐私框架与深度学习结合
- 正则表达式的比较JDK1.4 vs jakarta
- Java基础 this关键字
- 20220215-CTF-MISC-BUUCTF-镜子里面的世界-stegsolve工具的使用- Data Extract
- linux 驱动没有设备id,linux不同总线的设备和驱动的匹配过程分析
- 基因行业容器存储解决方案
- [Luogu 3835]【模板】可持久化平衡树
- ASP.NET:使用Flurl制作可复用的分页组件
- 全国信息技术水平计算机程序设计c,2010年(上)全国信息技术水平考试计算机程序设计技术水平证书(C语言)考试试卷...
- 在VS Code中用插件记录写代码时间
- 威纶通定时循环操作宏_武器化excel4.0宏演化过程
- python数学建模基础(一)——矩阵操作
- python编写程序统计一元人民币换成一分、两分和五分的所有兑换方案个数(用while循环)
- php 0xc0000135,[原创]IIS7.5下配置ASP+PHP环境及错误处理(0xc0000135)
- 七大热门小程序框架横评,谁是性能之王
- Ubiquitous Religions POJ - 2524
- 每日新闻丨2020年芯片产业即迎来大变局;AMD推出64核128线程HEDT平台
- windows 编程的学习次序
- 双节本世纪仅有三次,特送福利!
热门文章
- 解决win10安装VC++ 出现的启动错误
- 程序人生 - 数字化人民币的无网络支付是如何实现的?
- 邮件服务器怎么设置mx记录,什么是MX记录?如何设置、检测MX记录
- python学了可以干什么,python是用来干嘛的
- 晶振、时钟周期、机器周期
- 【Visual C++】游戏开发五十二 浅墨DirectX教程二十 骨骼动画来袭(一)
- 聚类(2)——层次聚类 Hierarchical Clustering
- 【Crypto】判断密文的加密方式
- ym——Android开发MVP模式(解决了View和Model的耦合)
- 如何在eNSP将多台计算机ping通?