web2py 1.97.1发布

web2py最新版本1.97.1已于本月26日发布,主要更新如下:
* 修复了大量小Bug

web2py 1.97.1下载:
* Windows版下载: http://www.web2py.com/examples/static/web2py_win.zip* 源代码下载: http://www.web2py.com/examples/static/web2py_src.zip

运行方式:1. Windows版直接运行web2py.exe;2. 源代码运行python web2py.py,需要有Python 2.5以上环境。

web2py使用说明: http://web2py.com/book

升级到web2py 1.9.3后出现“500 Internal Server Error”错误

在Web浏览器中访问时,提示“500 Internal Server Error”错误。服务器操作系统是CenOS 5.6,web2py跑在系统自带的Apache上。

在终端下运行“$ python web2py.py”提示:
File “/var/www/html/web2py/gluon/utils.py”, line 98, in <module>
ctokens = initialize_urandom()
File “/var/www/html/web2py/gluon/utils.py”, line 93, in initialize_urandom
logging.warn(
NameError: global name ‘logging’ is not defined

但是“$ sudo python web2py.py”却可以正常运行
尝试重启系统:
$ sudo reboot
还是一样的结果。

直接查看源代码:
[chinakr@softwaretest web2py]$ vim gluon/utils.py
try:
os.urandom(1)
if os.path.exists(‘/dev/urandom’):
open(‘/dev/urandom’,’wb’).write(”.join(chr(t) for t in ctokens))
except:
random.seed(node_id + milliseconds)
logging.warn(

Google“/dev/urandom web2py”找到了答案:
http://www.mail-archive.com/web2py@googlegroups.com/msg65128.html
解决方法:
$ ls -l /dev/urandom
cr–r–r– 1 root root 1, 9 06-06 10:36 /dev/urandom
$ sudo chmod 777 /dev/urandom
$ ls -l /dev/urandom
crwxrwxrwx 1 root root 1, 9 06-06 10:36 /dev/urandom
这样Apache中的web2py就可以正常工作,不再提示“500 Internal Server Error”错误了。

原来web2py 1.96.3中需要使用/dev/urandom来生成web2py_uuid,但是CentOS上apache用户默认情况下没有这个目录的权限,因此造成了Apache中web2py访问错误。