web.py 0.3 新手指南 - 安装

Summary

安装

安装web.py, 请先下载:

http://webpy.org/static/web.py-0.33.tar.gz

解压并拷贝 web 文件夹到你的应用程序目录下。 或者,为了让所有的应用程序都可以使用,运行:

python setup.py install

注意: 在某些类unix系统上你可能需要切换到root用户或者运行:

sudo python setup.py install

查看 推荐设置.

另外一个选择是使用Easy Install. Easy Install 使用如下:

easy_install web.py

开发

web.py 内置了web服务器。可以按照 tutorial 学习如何写一个Web应用。 写完后,将你的代码放到 code.py 并如下面的方法来启动服务器:

 python code.py

打开你的浏览器输入 http://localhost:8080/ 查看页面。 若要制定另外的端口,使用 python code.py 1234。

产品

现在所运行 web.py 程序的web服务器是挺不错的, 但绝大多数网站还是需要更加专业一些的web服务器。web.py 实现了 WSGI 并能在任何兼容它的服务器上运行。 WSGI 是一个web服务器与应用程序之间的通用API, 就如Java 的 Servlet 接口。 你需要安装 flup (download here) 使web.py 支持with CGI, FastCGI 或 SCGI, flup提供了这些API的WSGI接口。

对于所有的CGI变量, 添加以下到你的 code.py:

#!/usr/bin/env python

并运行 chmod +x code.py 添加可执行属性。

LightTPD

.. 使用 FastCGI

在产品中通过FastCGI结合lighttpd是web.py使用的一种推荐方法。 reddit.com 通过该方法来处理百万次的点击。

lighttpd config设置参考如下:

 server.modules = ("mod_fastcgi", "mod_rewrite")
 server.document-root = "/path/to/root/"     
 fastcgi.server = ( "/code.py" =>     
 (( "socket" => "/tmp/fastcgi.socket",
    "bin-path" => "/path/to/root/code.py",
    "max-procs" => 1
 ))
 )

 url.rewrite-once = (
   "^/favicon.ico$" => "/static/favicon.ico",
   "^/static/(.*)$" => "/static/$1",
   "^/(.*)$" => "/code.py/$1"
 )

在某些版本的lighttpd中, 需要保证fastcgi.server选项下的"check-local"属性设置为"false", 特别是当你的 code.py不在文档根目录下。

如果你得到错误显示不能够导入flup, 请在命令行下输入 "easy_install flup" 来安装。

从修订版本 145开始, 如果你的代码使用了重定向,还需要在fastcgi选项下设置bin-environment变量。 如果你的代码重定向到http://domain.com/ 而在url栏中你会看到 http://domain.com/code.py/, 你可以通过设置这个环境变量来阻止。 这样你的fastcgi.server设置将会如下:

fastcgi.server = ( "/code.py" =>
((
   "socket" => "/tmp/fastcgi.socket",
   "bin-path" => "/path/to/root/code.py",
   "max-procs" => 1,
   "bin-environment" => (
     "REAL_SCRIPT_NAME" => ""
   ),
   "check-local" => "disable"
))
)

Apache

.. 使用 CGI

添加以下到 httpd.conf 或 apache2.conf。

Alias /foo/static/ /path/to/static
ScriptAlias /foo/ /path/to/code.py
.. 使用 CGI .htaccess

CGI很容易配置, 但不适合高性能网站。 添加以下到你的 .htaccess:

Options +ExecCGI
AddHandler cgi-script .py

将你的浏览器指向 http://example.com/code.py/。 不要忘记最后的斜杠,否则你将会看到 not found 消息 (因为在 urls 列表中你输入的没有被匹配到). 为了让其运行的时候不需要添加 code.py, 启用mod_rewrite 法则 (查看如下)。

注意: web.py 的实现破坏了 cgitb 模块,因为它截取了 stdout。 可以通过以下的方法来解决该问题:

import cgitb; cgitb.enable()
import sys

# ... import web etc here...

def cgidebugerror():
    """                                                                         
    """        _wrappedstdout = sys.stdout

    sys.stdout = web._oldstdout
    cgitb.handler()

    sys.stdout = _wrappedstdout

web.internalerror = cgidebugerror
.. 使用 FastCGI

FastCGI很容易配置,运行方式如同mod_python。

添加以下到 .htaccess:

<Files code.py>      SetHandler fastcgi-script
</Files>

不幸的是, 不像lighttpd, Apache不能够暗示你的web.py脚本以FastCGI 服务器的形式工作,因此你需要明确的告诉web.py。 添加以下到 code.py的 if __name__ == "__main__": 行前:

web.wsgi.runwsgi = lambda func, addr=None: web.wsgi.runfcgi(func, addr)

将你的浏览器指向 http://example.com/code.py/。 不要忘记最后的斜杠,否则你将会看到 not found 消息 (因为在 urls 列表中你输入的没有被匹配到). 为了让其运行的时候不需要添加 code.py, 启用mod_rewrite 法则 (查看如下)。

Walter 还有一些额外建议.

.. 使用 SCGI

https://www.mems-exchange.org/software/scgi/ 从 http://www.mems-exchange.org/software/files/mod_scgi/ 下载mod_scgi 代码 windows apache 用户: 编辑 httpd.conf:

LoadModule scgi_module Modules/mod_scgi.so
SCGIMount / 127.0.0.1:8080

重启apache,并在命令行中如下方式启动code.py:

python code.py 127.0.0.1:8080 scgi

打开你的浏览器,访问127.0.0.1 It's ok!

.. 使用 mod_python

mod_python 运行方式如同FastCGI, 但不是那么方便配置。

对于 Python 2.5 按照如下:

cd /usr/lib/python2.5/wsgiref
# or in windows: cd /python2.5/lib/wsgiref
wget -O modpython_gateway.py http://projects.amor.org/misc/browser/modpython_gateway.py?format=raw
# or fetch the file from that address using your browser

对于 Python <2.5 按照如下:

cd /usr/lib/python2.4/site-packages
# or in windows: cd /python2.4/lib/site-packages
svn co svn://svn.eby-sarna.com/svnroot/wsgiref/wsgiref
cd wsgiref
wget -O modpython_gateway.py http://projects.amor.org/misc/browser/modpython_gateway.py?format=raw
# or fetch the file from that address using your browser  

重命名 code.py 为 codep.py 或别的名字, 添加:

main = web.wsgifunc(web.webpyfunc(urls, globals()))

在 .htaccess 中, 添加:

AddHandler python-program .py
PythonHandler wsgiref.modpython_gateway::handler
PythonOption wsgi.application codep::main

你应该希望添加 RewriteRule 将 / 指向 /codep.py/

确保访问 /codep.py/ 的时候有添加最后的 /。 否则,你将会看到一条错误信息,比如 A server error occurred. Please contact the administrator.

.. 使用 mod_wsgi

mod_wsgi 是一个新的Apache模块 通常优于mod_python 用于架设WSGI应用,它非常容易配置。

在 code.py 的最后添加:

application = web.wsgifunc(web.webpyfunc(urls, globals()))

mod_wsgi 提供 许多可行方法 来实现WSGI应用, 但一种简单的方法是添加以下到 .htaccess:

<Files code.py>
    SetHandler wsgi-script
    Options ExecCGI FollowSymLinks
</Files>

如果在apache的 error.log 文件中出现 "ImportError: No module named web", 在导入web之前,你可能需要在code.py中尝试设置绝对路径:

import sys, os
abspath = os.path.dirname(__file__)
sys.path.append(abspath)
os.chdir(abspath)
import web

同时, 你可能需要查看 WSGI应用的常见问题的 "Application Working Directory" 部分。

最终应该可以访问 http://example.com/code.py/。

mod_rewrite 法则,Apache

如果希望 web.py 能够通过 'http://example.com' 访问,代替使用 'http://example.com/code.py/', 添加以下法则到.htaccess 文件:

<IfModule mod_rewrite.c>      
  RewriteEngine on
  RewriteBase /
  RewriteCond %{REQUEST_URI} !^/icons
  RewriteCond %{REQUEST_URI} !^/favicon.ico$
  RewriteCond %{REQUEST_URI} !^(/.*)+code.py/
  RewriteRule ^(.*)$ code.py/$1 [PT]
</IfModule>

如果 code.py 在子目录 myapp/中, 调整 RewriteBase 为 RewriteBase /myapp/。 如果还有一些静态文件如CSS文件和图片文件, 复制这些并改成你需要的地址。

Web3py安装血泪史、解决microsoft visual c++ 14.0 is required、io.h报错、无法运行“rc.exe”等等问题 1、当我在安装Web3py时候出现error: microsoft visual c++ 14.0 is required异常时 我按照大部分网上的教程操作去下载生成工具 阅读详情

相关推荐

74hc595驱动模块的Verilog设计(线性状态机)

module hc595_driver( input clk, //50Mhz input rst_n, //复位信号 input [15:0] data, //数码管待显示数据,8位段选数据,8位位选数据 input en, //使能 o...

qq_41294540的博客 3740

web.py 数据库操作指南

原文来自:http://chenxiaoyu.org/2010/03/19/webpy-database-tutorial.html 官网地址:http://webpy.org/ web.py是一个小巧灵活的框架,最新稳定版是0.33。这里不介绍web开发部分,介绍下关于数据库的相关操作。 很多Pyer一开始都喜欢自己封装数据库操作类,本人亦如此。不过后来通过观摩web.py

PandaraWen 宝盒 995

【SLAM】SVO2.0编译运行和论文代码解读

SVO2是我遇到的最难编译的代码了,可能公开版本不能放太鲁棒的代码吧,搞了快一个星期,终于跑起来了。

iwanderu的博客 5972

web.py 十分钟创建简易博客

<br /> <br />一、web.py简介<br />web.py是一款轻量级的python web开发框架,简单、高效、学习成本低,特别适合作为python web开发的入门框架。官方站点:http://webpy.org/<br /><br /><br />二、web.py安装<br />1、下载:http://webpy.org/static/web.py-0.33.tar.gz<br />2、解压并进入web.py-0.33目录,安装:python setup.py install<br /><

TCM-caleng 6万+

Ubuntu 22.04 搭建 PX4 飞控系统完全指南:从仿真到硬件试飞

定义消息文件protobufuint64 timestamp # 时间戳float32 temperature # 温度float32 humidity # 湿度生成代码:bashPX4 在 Ubuntu 22.04 的搭建涉及环境配置、编译仿真、硬件连接等多环节,核心是理解 PX4 1.14 的新特性(uXRCE-DDS、动态控制分配)。通过本文指南,开发者可快速构建稳定的 PX4 开发环境,为无人机应用开发奠定基础。

zqmgx13291的博客 3039

华为OD新系统机试真题 - 获取大写字母瓷砖拼出独特图案数量

华为OD机试新系统真题【获取大写字母瓷砖拼出独特图案数量】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD新系统四月二十九号机试真题【获取大写字母瓷砖拼出独特图案数量】

qq_45776114的博客 1218

web.py 0.3 新手指南

转自:web.py 0.3 新手指南开始(仅为自己查看方便而转载。。。) 你知道Python同时你希望制作一个网站。 那么web.py正好提供了一种简单的方法。 如果你希望读完整个指南, 你需要安装Python, web.py, flup, psycopg2, 和Postgres (或者等价的数据库和Python驱动)。 详细,可以查看webpy.org. 如果你已经有了一个web...

u013431916的博客 242

把 SAP Query 用到极致:ABAP Query 的核心概念、配置流程、权限与运输治理全解析

摘要:SAP Query 是一款面向业务用户的自助报表工具,可解决标准报表无法满足业务需求的问题。其核心由四大组件构成:Queries(报表定义)、InfoSets(数据视图)、User Groups(权限分组)和Translation(多语言支持)。通过SQ03、SQ02、SQ01事务码分步创建用户组、数据视图和查询,业务用户无需ABAP知识即可生成Basic List(明细)、Statistics(统计)和Ranked List(排名)三种报表形式。典型案例展示了如何为采购部门设计包含明细追溯和Top1

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 179

Python 3.x 安装 web.py ,血泪!!

Python3 安装 webpy ,血泪!!简述安装安装结果批注 简述 这里我就不说webpy官网上的安装 web.py 的方法,方法是对的,只是针对的对象不同,官网针对python2。 如何使用的是python2,按照官网步骤来,完全ok。 这里介绍 python3 安装 webpy的方法,其实很简单。 安装 1.从 https://github.com/webpy/webpy/tree/pyt...

jet5devil的博客 6652

开源Harness项目DeerFlow 2.0,让智能体几乎能完成任何复杂任务

从提示工程到上下文工程,再到如今的 Harness,这条演进路径的本质是从“教模型如何理解人类”迈向“为模型构建一个可执行、可信赖、可长期运转的数字世界”。 当越来越多像 DeerFlow 2.0 这样的 Super Agent Harness 走向普及,AI 将真正进化为能理解、会规划、可执行、敢交付、长期负责的成熟生产力形态。

技术引领业务创新 519

SAM3 LoRA Fine-Tuning|SAM3微调(完全对齐官方训练和配置)

本文介绍了基于官方SAM3模型使用LoRA技术进行图像目标检测与分割微调的项目。项目完全对齐官方训练配置,支持多类别高效微调,且不影响原模型的开放词汇提示能力。微调后模型在航拍图像中对道路、车辆等目标的分割效果显著提升,误检率降低。 项目提供完整的训练和推理流程: 支持双卡并行训练,显存需求大(完整微调需30G+显存) 提供训练脚本和配置文件,可灵活调整参数 包含推理可视化工具,支持与原模型效果对比,内置训练结果分析工具,可生成指标对比图 数据集采用COCO格式。

weixin_46248968的博客 357

python3环境下web.py的安装

1、pip install web.py==0.40-dev01 遇到的问题:UserWarning: Normalizing '0.40-dev1' to '0.40.dev1' 解决问题:以管理员的权限运行命令行,然后执行pip install web.py==0.40-dev01即可 2、Python3.7执行web.py测试时出現RuntimeError: generator rai...

Poulfei的博客 2636

10.2 全栈 CRUD 工程结构搭建:Cursor 4 步初始化 + 3 层目录规范

揭示 Cursor 工程初始化中 4 个关键动作如何将 AI 上下文感知能力从 30% 提升至 85%,包括用 pnpm create 显式声明结构契约、通过 monorepo.config.json 设定 workspace 根以支持跨包类型引用、在 shared 包中固化共享类型与协议,以及后续

weixin_42545292的博客 67

python3 web_python3安装web.py

今天准备测试代理池IPProxyPool获取到ip的质量,在安装web.py的时候遇到了些问题,在此记录一下。1.安装资料2.安装方法1:(推荐)pip install web.py==0.40-dev1方法2:注意:这个是使用linux软连接方式git clone git://github.com/webpy/webpy.gitln -s `pwd`/webpy/web .方法3(从源码处安装)...

weixin_39742392的博客 608

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

安装python web.py Mako

sudo dnf install python3pip3 install --user mako在linux下安装python2.7.x,打开终端:  wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz #下载到当前目录  tar xvfz Python-2.7.3.tgz #解压  cd Python-2.7.3 #进入目录   ./configure  make #编译  su #转为root用户  make install #安装

zzhongcy的专栏 1118

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

python3.x 安装web.py "No module named 'utils'"

通用方法 通常安装的方法就是pip3 install web.py, 但是不幸报错了。 You are using pip version 10.0.1, however version 19.1.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. 悲哀的是根据提示...

zww学习笔记 3702

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Web3.py 学习(一)

一、什么是web3.py        Web3.py is a python library for interacting with Ethereum. Its API is derived from the Web3.js Javascript API and should be familiar to anyone wh...

天草降临的博客 7021

web3.py 安装以及主币查询 - bsc链

安装web3 pip install pip3 我的电脑会提示一个c++ 14.0的报错,按照以下步骤可以解决 error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools“ # 百度云链接: https://pan.baidu.com/s/1MWcOigDWrohbWfKoWtmHJA # 提取码: 6666 下载解压安装 Microsoft Visual

qq_42179915的博客 1万+

以太坊智能合约项目开发——Web3.py库安装及错误解决方案

一、Web3.py库介绍 二、Web3.py库安装 安装前提 安装python以上版本,人家网站上就这么要求的,不同版本之间可能差别较大; 安装有pip:安装python的时候一般都同时安装了; 安装命令 pip install web3 按理说输入安装命令就能安装成功,但是……还是没有一次成功。(我觉得我无论安装什么都会出点幺蛾子) 经过仔细研究报错语句,然后开始寻找解决办法,并从这篇文章 ...

茶花语的博客 5625

python3完美安装web.py

1.安装web.py 安装web.py的python3.x的版本不能直接pip3 install web.py,因为会报一堆错误, 要想用pip3安装可以执行pip3 install web.py==0.40.dev0 之后还需要该一点东西 D:\devlop\python\Lib\site-packages\web\utils.py def take(seq, n): ...

丿灬安之若死 1666

猫头虎 分享:Python库 Web3.py 的简介、安装、用法详解入门教程

在这篇博文中,我将详细介绍 Python 库 Web3.py 的简介安装步骤以及使用方法。我会结合实际开发中遇到的问题,以猫头虎博主的身份为大家深入剖析这一强大的工具。此外,我会通过代码示例,帮助大家理解和掌握Web3.py 的核心功能,并提出一些常见问题的解决方案。最后,我还会对如何避免常见错误以及区块链开发的未来趋势做一个展望。Web3.py 是一个用来与以太坊区块链进行交互的 Python 库。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 8559

CentOS7.3中安装web.py框架

CentOS7.3中安装完成Python3.6后,再安装web.py (安装Python3,参考https://blog.csdn.net/cheeryang2000/article/details/100136336) 1、从官网下载web.py的压缩包 sudo wget http://webpy.org/static/web.py-0.37.tar.gz 2、解压 tar xzvf...

1008

Python3.x web.py安装报错

最近使用Python3.x安装web.py的时候报以下错误: (Py3_requests) C:\Users\xxx>pip install web.py Collecting web.py Using cached https://files.pythonhosted.org/packages/fc/58/21649fc1849b1f688f3d42e25e79615cc573469e...

OneFine的技术博客 812

python 3.x中安装web.py

python 3.x中安装web.py最近决定从python2.7转移到3.x上工作。 使用数据库的时候,依然选用了之前比较感兴趣的web.py 但安装的时候似乎发现有各种问题。 ImportError: No module named ‘utils’ ModuleNotFoundError: No module named ‘db’ 等等,似乎也没有发现新的解决方案。 最后

注意积累 1万+

【杂记】Windows Server+python3安装web.py

写在前面 找了很多博客,基本都没有安装成功,问题主要集中在几个方面: 用了win而不是Linux 用了python3而不是python 同时,github源码安装也会有问题。 下面有一个安装方案成功安装,由于之前尝试太多方案,搞得现在原理也弄不清楚,先安装上再说。 步骤 在windows server 上安装python3 安装pip包管理器 安装以下依赖 pip3 install db...

mmciel 593
上一篇: web.py 0.3 新手指南 - FAQ
下一篇: web.py 0.3 新手指南 - Sessions
SleepInDelphi
博客等级 码龄19年 32粉丝 388原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值