Skip to main content
 首页 » 编程设计

python之Web2py:运行时出现内部错误

2025年05月04日25傻小

我收到这个错误

Internal error Ticket issued: unrecoverable

尝试从 https://github.com/web2py/web2py/tree/e1bb2b4556352612a8f0386373d23e49f3e138c4 运行 web2py 时

我使用的是 ubuntu 12.04,并且已经有 web2py 1.99.4。但我想检查新版本。正如 repo 的自述文件中所述,我应该简单地运行 python web2py.py

但是,当我启动服务器时,我发现了内部错误。

下面是我从 shell 中得到的:

gofrendi@arcaneSanctum:~/Documents/web2py-web2py-e1bb2b4$ python web2py.py -M 
web2py Web Framework 
Created by Massimo Di Pierro, Copyright 2007-2012 
Version 2.0.9 (2012-10-07 01:10:05) dev 
Database drivers available: SQLite(sqlite2), SQLite(sqlite3), MySQL(pymysql), MySQL(MySQLdb), PostgreSQL(psycopg2), PostgreSQL(pg8000), CouchDB(couchdb), IMAP(imaplib) 
please visit: 
    http://127.0.0.1:8000 
starting browser... 
Exception AttributeError: AttributeError("'_DummyThread' object has no attribute '_Thread__block'",) in <module 'threading' from '/usr/lib/python2.7/threading.pyc'> ignored 
Created new window in existing browser session. 
ERROR:web2py:Traceback (most recent call last): 
  File "/home/gofrendi/Documents/web2py-web2py-e1bb2b4/gluon/main.py", line 614, in wsgibase 
    BaseAdapter.close_all_instances('rollback') 
  File "/home/gofrendi/Documents/web2py-web2py-e1bb2b4/gluon/dal.py", line 525, in close_all_instances 
    for db_uid, db_group in dbs: 
NameError: global name 'dbs' is not defined 
 
ERROR:web2py:Traceback (most recent call last): 
  File "/home/gofrendi/Documents/web2py-web2py-e1bb2b4/gluon/main.py", line 614, in wsgibase 
    BaseAdapter.close_all_instances('rollback') 
  File "/home/gofrendi/Documents/web2py-web2py-e1bb2b4/gluon/dal.py", line 525, in close_all_instances 
    for db_uid, db_group in dbs: 
NameError: global name 'dbs' is not defined 
 
ERROR:web2py:Traceback (most recent call last): 
  File "/home/gofrendi/Documents/web2py-web2py-e1bb2b4/gluon/main.py", line 614, in wsgibase 
    BaseAdapter.close_all_instances('rollback') 
  File "/home/gofrendi/Documents/web2py-web2py-e1bb2b4/gluon/dal.py", line 525, in close_all_instances 
    for db_uid, db_group in dbs: 
NameError: global name 'dbs' is not defined 
 
ERROR:web2py:Traceback (most recent call last): 
  File "/home/gofrendi/Documents/web2py-web2py-e1bb2b4/gluon/main.py", line 614, in wsgibase 
    BaseAdapter.close_all_instances('rollback') 
  File "/home/gofrendi/Documents/web2py-web2py-e1bb2b4/gluon/dal.py", line 525, in close_all_instances 
    for db_uid, db_group in dbs: 
NameError: global name 'dbs' is not defined 
 
ERROR:web2py:Traceback (most recent call last): 
  File "/home/gofrendi/Documents/web2py-web2py-e1bb2b4/gluon/main.py", line 614, in wsgibase 
    BaseAdapter.close_all_instances('rollback') 
  File "/home/gofrendi/Documents/web2py-web2py-e1bb2b4/gluon/dal.py", line 525, in close_all_instances 
    for db_uid, db_group in dbs: 
NameError: global name 'dbs' is not defined 

那么,这里出了什么问题?

请您参考如下方法:

那个提交刚刚被打破。如果您查看代码,dbs 变量从未被定义,因此 close_all_instances 函数将始终失败。有一个错误报告:web2py issue #1072

你可以自己打上面的补丁,或者用我的patch-1我应用补丁的分支(并发送了一个拉取请求),或者你可以在代码被破坏之前使用提交(231a3e1278),或者只是等待它在我认为会的master中得到修复很快就会发生。