google oppia Python Web编程运行环境搭建
Python Web编程
Python的Web框架中,mod-python是一个很方便实用的,而且可以跟其他的框架一起使用的。
下面介绍一下Apache和mod-python的协作使用。
首先需要下载的软件有:
1、python-3.3.5(https://www.python.org/downloads/release/python-335/)根据系统选择你的版本我这里选择的是Windows x86-64 MSI installer window 版本,根据系统提示一步一步的安装即可,这里不需多啰嗦哈!
2、安装apache2.2或nginx 服务器,安装步骤不需要要多啰嗦吧,我这里为了省事直接下载了一个集成开发环境PHPfind(nginx+php+mysql) 或wampserver集成开发工具(包含有php+apache+mysql)
3、mod_python-3.5.0(http://dist.modpython.org/dist/)下载后的文件需要编译哈!inux shell下编译后生产so文件,重新命名为mod_python_3.5.0.so放入apache中modules文件夹中。当然获取现存的mod_python.so 你可以网上搜一下其他下载地址!
接下来需要修改Apache的配置文件Apache2.2\conf\httpd.conf。
添加如下内容:LoadModule python_module modules/mod_python_3.5.0.so,这个文件会处理和转发发送到Apache的Http请求mod-python。
或者使用mod_wsgi 模块运行python,下载地址:http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py26-3.3.so i因为我机子上的wampserver使用的是2.2版本的apache 所以我下载 mod_wsgi-win32-ap22py27-3.3.so
接下来需要修改Apache的配置文件Apache2.2\conf\httpd.conf。
LoadModule wsgi_module modules/mod_wsgi.so
依次安装Python、Apache和 (mod-python或mod_wsgi)。
AddHandle说明如果GET此目录下所有的.py文件用mod_python处理;PythonHandler MyTest是缺省的文件,当取得“/”时执行的文件;PythonDebug On把调试开关打开,如果出现错误,在浏览器上能看见出错的调用栈信息。
然后在D:\PythonWeb放一个HTML文件,如果能通过http://localhost/test.py访问的话,那就说明安装成功了。
mod_python下载地址:http://www.modpython.org/
以下是一个测试python的文件。可以测试你的python是否安装正确
编写测试文档,保存为mptest.py;
from mod_python import apache
def handler(req):
req.write("Hello Word! www.itokit.com");
return apache.OK
编写py程序,一定得注意缩进问题,刚刚学习python,from这一行和def这一行不要缩进,下面三行要缩进,否则会报错“IndentationError: unexpected indent”,一切顺利的话,浏览该文件结果显示:Hello World!另外 注意添加test.py文件
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
我们都说事务,Spring的事务也来了解下?
Spring在进行事务逻辑织入的时候,无论是事务开始,提交或者回滚,都会触发相应的事务事件。本文首先会使用实例进行讲解Spring事务事件是如何使用的,然后会讲解这种使用方式的实现原理。 示例对于事务事件,Spring提供了一个注解@TransactionEventListener,将这个注解标注在某个方法上,那么就将这个方法声明为了一个事务事件处理器,而具体的事件类型则是由TransactionalEventListener.phase属性进行定义的。如下是TransactionalEventListener的声明:‘ @Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @EventListener public @interface TransactionalEventListener { // 指定当前标注方法处理事务的类型 TransactionPhase phase() default TransactionPhas...
- 下一篇
Java | 图解数据结构及原理,傻瓜也能看懂!
最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程。 主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList LinkedHashMap中的双向列表不再是回环的。 HashMap中的单链表是尾插, 而不是头插入等等, 后文不再赘叙这些差异, 本文目录结构如下: LinkedList 经典的双链表结构, 适用于乱序插入, 删除. 指定序列操作则性能不如ArrayList, 这也是其数据结构决定的. add(E) / addLast(E)add(index, E) 这边有个小的优化, 他会先判断index是靠近队头还是队尾, 来确定从哪个方向遍历链入.靠队尾get(index) 也是会先判断index, 不过性能依然不好, 这也是为什么不推荐用for(int i = 0; i < lengh; i++)的方式遍历linkedlist, 而是使用iterator的方式遍历.remove(E)ArrayList 底层就是一个数组, 因此按序查找快, 乱序插入, 删除因为涉及到后面元素移位所以性能慢. add(...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,CentOS7官方镜像安装Oracle11G