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基础学习二相关推荐

  1. 软件测试Python编程基础学习分享

    #博学谷IT学习技术支持# 目录 一.前言 二.python基础 2.1print函数的简单使用 2.2注释 2.2.1单行注释 2.2.2多行注释 2.3Python代码中三种波浪线和 PEP8 2 ...

  2. mysql用创建的用户登陆并修改表格_MySQL 基础学习二:创建一个用户表,并增删改查...

    MySQL 基础学习二:创建一个用户表,并 增删改查 提示:MySQL 命令建议都用大写,因为小写运行时,还是翻译成大写的. 第一步,创建一个用户表 1,打开控制台,进入数据库 C:\Users\Ad ...

  3. 大数据基础学习二:在VMware虚拟机上安装Ubuntu完整步骤及需要注意的问题(以VMware Workstation 15.1.0 Pro和Ubuntu18.04.3优麒麟版为例)

    大数据基础学习二:在VMware虚拟机上安装Ubuntu完整步骤及需要注意的问题 (以VMware Workstation 15.1.0 Pro for Windows和Ubuntu18.04.3优麒 ...

  4. Day2:python爬虫基础学习(大嘘)

    Day2:python爬虫基础学习(大嘘)) 教材&参考: 学习过程 Sublime配置教程 下载&安装 语言(设置中文) 设置字体/配色 配置Python环境 使用python官方编 ...

  5. 1 python编程基础学习

    1 python编程基础学习 1. 程序 2 python简介(了解) 3 python的开发环境的搭建 4 第一个python程序 4.1 常用的dos命令 4.2 交互式 4.3 使用pychar ...

  6. Verilog基础学习二

    Verilog基础学习二 文章目录 Verilog基础学习二 一.always 块 1.阻塞性赋值和非阻塞性赋值 二.条件语句 1.if 语句 基本用法 2.避免引入锁存器 3.case 语句 4.c ...

  7. 第10期:Python零基础学习路线

    大家好,我是你们的老朋友老王随聊,今天和大家讨论的话题--Python零基础应该怎么学? 通过这段时间和群里同学们交流,发现很多大学生甚至职场小白对Python学习路线不是很清晰,所以我花了一些时间给 ...

  8. Python机器学习基础篇二《监督学习》

    前言 前期回顾: Python机器学习基础篇一<为什么用Python进行机器学习> 前面说过,监督学习是最常用也是最成功的机器学习类型之一.本章将会详细介绍监督学 习,并解释几种常用的监督 ...

  9. 一份超级详细的Python零基础学习资料(仅此一家,可能会被404抓紧收藏)

    一.学习Python必备技能图谱 二.0基础如何系统学习Python? 一.Python的普及入门 1.1 Python入门学习须知和书本配套学习建议 1.2 Python简史 1.3 Python的 ...

最新文章

  1. 跟着Rocskdb 学 存储引擎:读写链路的代码极致优化
  2. 隐私保护新突破:高斯差分隐私框架与深度学习结合
  3. 正则表达式的比较JDK1.4 vs jakarta
  4. Java基础 this关键字
  5. 20220215-CTF-MISC-BUUCTF-镜子里面的世界-stegsolve工具的使用- Data Extract
  6. linux 驱动没有设备id,linux不同总线的设备和驱动的匹配过程分析
  7. 基因行业容器存储解决方案
  8. [Luogu 3835]【模板】可持久化平衡树
  9. ASP.NET:使用Flurl制作可复用的分页组件
  10. 全国信息技术水平计算机程序设计c,2010年(上)全国信息技术水平考试计算机程序设计技术水平证书(C语言)考试试卷...
  11. 在VS Code中用插件记录写代码时间
  12. 威纶通定时循环操作宏_武器化excel4.0宏演化过程
  13. python数学建模基础(一)——矩阵操作
  14. python编写程序统计一元人民币换成一分、两分和五分的所有兑换方案个数(用while循环)
  15. php 0xc0000135,[原创]IIS7.5下配置ASP+PHP环境及错误处理(0xc0000135)
  16. 七大热门小程序框架横评,谁是性能之王
  17. Ubiquitous Religions POJ - 2524
  18. 每日新闻丨2020年芯片产业即迎来大变局;AMD推出64核128线程HEDT平台
  19. windows 编程的学习次序
  20. 双节本世纪仅有三次,特送福利!

热门文章

  1. 解决win10安装VC++ 出现的启动错误
  2. 程序人生 - 数字化人民币的无网络支付是如何实现的?
  3. 邮件服务器怎么设置mx记录,什么是MX记录?如何设置、检测MX记录
  4. python学了可以干什么,python是用来干嘛的
  5. 晶振、时钟周期、机器周期
  6. 【Visual C++】游戏开发五十二 浅墨DirectX教程二十 骨骼动画来袭(一)
  7. 聚类(2)——层次聚类 Hierarchical Clustering
  8. 【Crypto】判断密文的加密方式
  9. ym——Android开发MVP模式(解决了View和Model的耦合)
  10. 如何在eNSP将多台计算机ping通?