当前位置:首页 > 服务端 > Python+Karrigell+Cheetah环境搭建

Python+Karrigell+Cheetah环境搭建

2022年11月09日 15:24:24服务端7


出处:http://pynix.cnblogs.com/ 本文版权归作者和博客园共有.
因为python并不是特别为web开发而生,所以现在很多的python使用者都在开发能够让python运行于web的框架.Karrigell就是现在为数众多的python/web框架之一

简介

Karrigell是一个功能强大且灵活的python/web框架,为web开发提供了多种解决方案.并且,很重要的,它的安装和使用都非常的简单.即使是python的初学者,也不会在使用Karrigell的时候犯迷糊,并且Karrigell也没有因为结构简单而限制python的一些特性.它提供了自己的web服务器完成工作,但是也非常容易的和其他的web服务器(例如apache)结合工作,所以如果你选择了Karrigell,你仍然可以使用之前一直在使用的web服务器.

 

Cheetah是一个用Python写的模板系统与代码生成工具。Cheetah提供了一门简单语言,用来定义提供基本流控制和对象访问的构造模板。

文件准备

1.python2.6

2.Karrigell-3.1.1   下载地址:http://sourceforge.net/projects/karrigell/files/Full%20package/Karrigell-3.1.1/

3.Cheetah-2.4.4   下载地址:http://pypi.python.org/pypi/Cheetah/2.4.4

Python+Karrigell+Cheetah环境搭建 _ JavaClub全栈架构师技术笔记

 

开始安装

1.安装Python2.6 (过程略)

2.安装Karrigell-3.1.1 (过程略)

Python+Karrigell+Cheetah环境搭建 _ JavaClub全栈架构师技术笔记

 

测试Karrigell能否正常运行:

Python+Karrigell+Cheetah环境搭建 _ JavaClub全栈架构师技术笔记

 

Python+Karrigell+Cheetah环境搭建 _ JavaClub全栈架构师技术笔记

 

Python+Karrigell+Cheetah环境搭建 _ JavaClub全栈架构师技术笔记

 如果能打开以上网页说明没什么问题

 开始配置Cheetah:

 1.解压下载的Cheetah2.4.4压缩包

 2.cmd进入解压后的目录,输入命令  python setup.py build

 Python+Karrigell+Cheetah环境搭建 _ JavaClub全栈架构师技术笔记

 编译完成后打开build/lib文件夹

Python+Karrigell+Cheetah环境搭建 _ JavaClub全栈架构师技术笔记

 复制Cheetah文件夹到 karrigell的package文件夹中:

 Python+Karrigell+Cheetah环境搭建 _ JavaClub全栈架构师技术笔记

 然后打开extensions文件夹找到Cheetah.py文件,将此文件重命名为Cheetahs.py  当然你也可以随便改个其他名字 :)

Python+Karrigell+Cheetah环境搭建 _ JavaClub全栈架构师技术笔记

 Python+Karrigell+Cheetah环境搭建 _ JavaClub全栈架构师技术笔记

 

开始创建一个应用

打开Karrigell的www文件夹,创建一个新的文件夹 pynix,在其中建立两个文件: index.ks 和 index.tmpl

Python+Karrigell+Cheetah环境搭建 _ JavaClub全栈架构师技术笔记

启动 Karrigell,打开浏览器:

Python+Karrigell+Cheetah环境搭建 _ JavaClub全栈架构师技术笔记

运行成功!

将index.tmpl文件添加几个汉字,刷新:

Python+Karrigell+Cheetah环境搭建 _ JavaClub全栈架构师技术笔记

出现编码错误!

 

问题原因(可能不正确):

1.文件的二进制编码: ANSI ,UTF-8等 windows下默认应该是ANSI

2.python代码的编码: coding:utf-8 等

3.模板文件的二进制编码:ANSI,UTF-8

4.Karrigell的默认编码:ascii ?

解决方法:

经过多次试验发现编码问题冲突的地方主要有两个:一个是页面的默认编码,当页面出现乱码时重新选择正确的编码如果能够显示正常的话可以在处理文件中添加:

RESPONSE['Content-Type'] = "text/html; charset=utf-8"  这一句主要是在页面显示时指定使用哪种编码方式.另一种主要就是在调用 Cheetah模板时出现乱码了,或许这和Karrigell的默认编码有关,要解决这个问题需要这句代码:

sys.setdefaultencoding('utf-8');

使用前需要: import sys  和 reload(sys);

具体setdefaultencoding  utf-8还是gb2312主要取决与文件的编码方式,如果模板文件时ANSI编码则使用: sys.setdefaultencoding('gb2312');如果模板文件格式是UTF-8格式则需要使用:sys.setdefaultencoding('utf-8');

自己的方案:

由于模板文件可能使用一些设计工具创建,一般编码都是ANSI格式的所以使用sys.setdefaultencoding('gb2312');对于python文件则全部使用UTF-8格式.

我将sys.setdefaultencoding('utf-8');这行代码加在了 server_config.py文件中,省的总是忘记调用.
另外将RESPONSE['Content-Type'] = "text/html; charset=utf-8" 放在了 data/www/conf.py文件中:

Python+Karrigell+Cheetah环境搭建 _ JavaClub全栈架构师技术笔记

Python+Karrigell+Cheetah环境搭建 _ JavaClub全栈架构师技术笔记

 

BTW:刚刚发现使用安装版的Karrigell居然可以不要安装Python环境也能正常运行!!!嘎嘎~ :-P

 

 

作者:Pynix
来源链接:https://www.cnblogs.com/Pynix/archive/2011/01/03/1925056.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/68895.html

标签: Python
分享给朋友:

“Python+Karrigell+Cheetah环境搭建” 的相关文章

python实现——处理Excel表格(超详细)

python实现——处理Excel表格(超详细)

目录 xls和xlsx 基本操作 1:用openpyxl模块打开Excel文档,查看所有sheet表 2.1:通过sheet名称获取表格...

Python 树表查找

Python 树表查找

什么是树表查询? 借助具有特殊性质的树数据结构进行关键字查找。 本文所涉及到的特殊结构性质的树包括: 二叉排序树。 平衡二叉树。 使用上述树结构存储数据时,因其本身对结点之间的关系以及顺序有特殊要求,也得益于这种限制,在查询某一个结点时...

python常用时间处理方法

常用时间处理方法 今天 today = datetime.date.today() 昨天 yesterday = today - datetime.timedelta(days=1) 上个月 last_month = today.month - 1...

python配置环境变量

例:cmd中输入 Python环境变量 path=%path%;C:\Python27 pip环境变量 path=%path%;C:\Python27\Scripts   作者:Mydrizzle 来源链...

Python-os模块和sys模块

Python-os模块和sys模块

一、os模块 os模块是Python中一个非常重要的模块,完成对操作系统的一些操作,使用时,直接import os即可。 下面是os模块中常用的。 还有一个很重要的,是os.walk,可以列出指定路径下的所有路径,文件,文件夹。 &nbs...

Windows下python环境变量配置

默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量。此时不能在命令行直接使用python命令。   1. 首先需要在系统中注册python环境变量:假设python的安装路径为c:\python2.6,则修改我的电脑->属性...

Python安装与环境变量配置

目录 Python下载与安装 配置环境变量 Pycharm安装: Python下载与安装 Python官网:https://www.python.org/ 配置环境变量 系统变量...

为啥 python自带的 pip运行不了?

为啥 python自带的 pip运行不了?

我们 把python2或者3 解压到指定目录后,然后在配置好 python环境变量后,在CMD窗口 运行 python --version 是正常的     但是运行pip却是 提示没有 这个命令呢?   &n...

Linux配置Python默认版本

Linux配置Python默认版本

我们知道在Windows下多版本共存的配置方法就是改可执行文件的名字,配置环境变量。 Linux中的配置原理差不多,思路就是生成软链接,配置到环境变量。 在没配置之前,我的Ubuntu中安装了python2.7和python3.6。而且输入python默认使用的是pytho...

python环境变量自动配置脚本(setx使用)

前言 setx不是windows系统自带的工具,需要到微软官网下载,但是有的系统也会自带。(是官方提供的,可放心食用) set和setx都可以用来配置环境变量。他们的不同点在于,set只是临时的修改环境变量,控制台关闭之后效果就消失,setx则可以永久改变环境变量(自动修改...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。