Python / IronPython日志记录:'NoneType'对象没有属性'f_back'

时间:2013-06-25 15:22:59

标签: python logging ironpython

当在IronPython脚本中实例化collections.OrderedDict()时,我得到以下内容:

System.MissingMemberException: 'NoneType' object has no attribute 'f_back'
at logging$33.findCaller$1681(PythonFunction $function, Object self) in C:\Python26\Lib\logging\__init__.py:line     1101
at logging$33._log$1683(PythonFunction $function, Object self, Object level, Object msg, Object args, Object         exc_info, Object extra) in C:\Python26\Lib\logging\__init__.py:line 1129
at logging$33.info$1675(PythonFunction $function, Object self, Object msg, Object args, Object kwargs) in        C:\Python26\Lib\logging\__init__.py:line 1021

调用此脚本的脚本在其他Windows框上运行正常,只发生在我的框中。我根本不熟悉日志记录功能 - 任何人都可以解释一下吗?

Python版本2.6

IronPython版本2.7.1

非常感谢

1 个答案:

答案 0 :(得分:2)

看起来你正在尝试使用Python 2.6和IronPython 2.7中的库。你应该使用IronPython 2.7的标准库,它有一堆修复和变通方法使它工作(不完美,但更好)。

例如,我在IronPython 2.7.3上获得以下内容:

>>> from collections import OrderedDict
>>> od = OrderedDict()
>>> od[1] = 2
>>> od[0] = 4
>>> od
OrderedDict([(1, 2), (0, 4)])
>>>

最有可能的是,在IronPython的Lib之前,将IRONPYTHONPATH变量设置为拥有Python的Lib。过去需要(对于IronPython< 2.6),但现在不建议这样做。