V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
omg21
V2EX  ›  Python

Exception ignored in: <bound method Cursor.__del__ of <pypyodbc.Cursor object at 0x014621D0>>这是什么错误?

  •  
  •   omg21 · 2016-12-04 14:50:54 +08:00 · 3355 次点击
    这是一个创建于 2915 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Exception ignored in: <bound method Cursor.__del__ of <pypyodbc.Cursor object at 0x014621D0>>
    Traceback (most recent call last):
    File "D:\Python34\lib\site-packages\pypyodbc-1.3.3-py3.4.egg\pypyodbc.py", line 2366, in __del__
    File "D:\Python34\lib\site-packages\pypyodbc-1.3.3-py3.4.egg\pypyodbc.py", line 2348, in close
    AttributeError: 'NoneType' object has no attribute 'SQLFreeStmt'
    Exception ignored in: <bound method Connection.__del__ of <pypyodbc.Connection object at 0x00BB2B30>>
    Traceback (most recent call last):
    File "D:\Python34\lib\site-packages\pypyodbc-1.3.3-py3.4.egg\pypyodbc.py", line 2645, in __del__
    File "D:\Python34\lib\site-packages\pypyodbc-1.3.3-py3.4.egg\pypyodbc.py", line 2658, in close
    File "D:\Python34\lib\site-packages\pypyodbc-1.3.3-py3.4.egg\pypyodbc.py", line 2579, in rollback
    TypeError: 'NoneType' object is not callable


    我的环境是 XP + Python34 ,之前一直都好好的,这几天总出这个错误,网上搜了半天也没找到解决方法。
    这几天没有添加新的模块,这个错误也是时不时的出现,出现的比例大概占到五分之一吧,运行五次大概有一次出现这错误。
    2 条回复    2016-12-04 15:08:50 +08:00
    omg21
        1
    omg21  
    OP
       2016-12-04 15:01:51 +08:00
    看了一下 pypy 的源代码,把错误行号标出来。

    def __del__(self):
    if not self.closed:
    self.close() #2366 行


    if self.connection.connected:
    ret = ODBC_API.SQLFreeStmt(self.stmt_h, SQL_CLOSE) #2348 行
    check_success(self, ret)


    def __del__(self):
    if self.connected:
    self.close() #2645 行


    if self.connected:
    #if DEBUG:print 'disconnect'
    if not self.autocommit:
    self.rollback() #2658 行


    def rollback(self):
    if not self.connected:
    raise ProgrammingError('HY000','Attempt to use a closed connection.') #2579 行
    ret = SQLEndTran(SQL_HANDLE_DBC, self.dbc_h, SQL_ROLLBACK)
    if ret != SQL_SUCCESS:
    check_success(self, ret)
    omg21
        2
    omg21  
    OP
       2016-12-04 15:08:50 +08:00
    对了,前几天出了一个小插曲,我是用的 Sublime 编辑运行的,习惯同时打开好几个 py 文件,但是有一天突然出现一个现象,我在用 Ctrl+B 运行的时候,如果其他文件里有错误,会报错,导致没法运行,不过过了那阵子好像就没出过这个现象。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1228 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:09 · PVG 02:09 · LAX 10:09 · JFK 13:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.