My favorites | Sign in
Project Home Downloads Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
ExamChatQandA  
tornado chat 作业问答
Updated Nov 19, 2012 by G.ShiZha...@gmail.com

关于 tornado 运行环境

问题

Comment by 395143522@qq.com, Nov 8 (2 days ago) 老师,chatdemo.py无法运行,系统提示报错——

File "G:\mtest\chat\chatdemo.py", line 43, in init template_path=os.path.join(os.path.dirname(file), "templates"), NameError?: global name 'file' is not defined 出现这样的问题的不止我一个,求老师解答!

Delete comment Comment by 275176938@qq.com, Nov 9 (2 days ago) 下载的tornado放在site-packages中 有init.py的文件夹里,但没找到init.py,看到的都是init.py。 那个用mercu记录过程,是每次截屏吗

Delete comment Comment by 395143522@qq.com, Yesterday (16 hours ago) 还是那个File "G:\mtest\chatdemo.py", line 43, in init template_path=os.path.join(os.path.dirname(file), "templates"), NameError?: global name 'file' is not defined的问题

运行后打开浏览器输入127.0.0.1:8888,提示的错误代码是500:服务器尝试执行请求时遇到了意外情况

哎呀愁死了orz

解答

首先,有一种情况可以重复这几位同学们的问题,也就是(好不容易连上 google)认证之后,出现 " 500 服务器内部错误" 问题,即使用 python setup.py install 安装 tornado 之后,又因为系统中有若干个 python 解释器(直接安装的、绿色解压的、2.6、2.7 …),使用不匹配的解释器运行 chat.py 导致。

针对这个情况,已经熟悉库、解释器设定的同学可以手工配置,如果有困难,最简单的解决办法就是,将之前的 python 卸载重装,确保系统 "干净" ,安装仅一份 2.7 版本 python ,然后再在抓取的 tornado 根目录中执行 python setup.py install ,再运行 python chat.py ,应该即可正常运行

此外,谷歌服务受干扰期间,chat.py 例程所用其 OpenID 认证有可能遭遇 reset ,这个试几次应该就可以解决,上面那个问题是认证成功之后,企图打开主页面时发生的。

还有关于 tornado 安装,一般的,按照上述方法执行 python setup.py install 即可,我演示过的 DIY 方法,即拷贝文件夹,需要拷贝的是包含 "init.py" 那个 tornado 目录,这里有一些入门资料,其中有简述

关于谷歌认证

tornado 的 chatdemo.py 虽然简单,但是具备最基本的Web应用框架,其最初的认证是通过一种称为 OpenID 的第三方认证架构来实现的,同学们最初打开 http ://127.0.0.1:8000 时所发生的谷歌认证请求即 "第三方认证" 的发起阶段,目的是由谷歌确认登录者的身份,给予认证通过的登录者一个唯一的标识,认证者持有这个标识再去访问要求进行 "第三方认证" 的服务网站,该网站即可用这个标识访问谷歌加以确认,如果得到谷歌认可,即匹配成功,整个认证过程即完成。

在维基百科上有科普 以及中文站

由此可以基本明确,必须用谷歌自己管理的账号才能进行由谷歌主持的 "第三方认证" ,所以用别的ID登录谷歌服务,应该是认证不成功的,这一点可以在 tornado chatdemo.py 这些程序服务端命令行窗口中查日志加以确认。

关于 mercurial

归纳一下参考资料

hg科普直接点击下载

hg技巧

Comment by mayse...@gmail.com, Oct 8, 2013

f

Powered by Google Project Hosting