Q: 'UnboundLocalError': 赋值前引用的局部变量'exitErr'
Q: 'UnboundLocalError': local variable 'exitErr' referenced before assignment
我想在Spyder中使用PDE Solver Fipy IDE,尝试按照官方安装指南安装:
现在建议先运行 fipy.test()再使用包,这里出现如下错误。
File "C:\Users\Me\AppData\Roaming\Python\Python27\site-packages\fipy\tests\test.py", line 263, in run_tests
raise exitErr
UnboundLocalError: local variable 'exitErr' referenced before assignment
我不明白这在上下文中是什么意思,这是此错误所指的代码:
try:
unittest.main(
None, None, [unittest.__file__]+self.test_args,
testLoader = loader_class()
)
except SystemExit as exitErr:
# unittest.main(..., exit=...) not available until Python 2.7
from fipy.tests.doctestPlus import report_skips
report_skips()
if self.timetests is not None:
pass
else:
raise
if "legacy" in printoptions:
numerix.set_printoptions(legacy=printoptions["legacy"])
if self.timetests is not None:
from fipy.tests.doctestPlus import _DocTestTimes
import numpy
_DocTestTimes = numpy.rec.fromrecords(_DocTestTimes, formats='f8,S255', names='time,test')
_DocTestTimes.sort(order=('time', 'test'))
numpy.savetxt(self.timetests, _DocTestTimes[::-1], fmt="%8.4f\t%s")
raise exitErr
感谢您报告此事。我已提交问题。
我相信您可以通过将 fipy.tests.test.test.run_tests()
中的相关代码更改为以下内容来修复此错误:
exitErr = None
try:
...
except SystemExit, exitErr:
...
...
if exitErr is not None:
raise exitErr
但我需要做一些测试。我实际上无法触发您看到的错误,但您确定的我们的代码肯定是错误的。
我想在Spyder中使用PDE Solver Fipy IDE,尝试按照官方安装指南安装: 现在建议先运行 fipy.test()再使用包,这里出现如下错误。
File "C:\Users\Me\AppData\Roaming\Python\Python27\site-packages\fipy\tests\test.py", line 263, in run_tests
raise exitErr
UnboundLocalError: local variable 'exitErr' referenced before assignment
我不明白这在上下文中是什么意思,这是此错误所指的代码:
try:
unittest.main(
None, None, [unittest.__file__]+self.test_args,
testLoader = loader_class()
)
except SystemExit as exitErr:
# unittest.main(..., exit=...) not available until Python 2.7
from fipy.tests.doctestPlus import report_skips
report_skips()
if self.timetests is not None:
pass
else:
raise
if "legacy" in printoptions:
numerix.set_printoptions(legacy=printoptions["legacy"])
if self.timetests is not None:
from fipy.tests.doctestPlus import _DocTestTimes
import numpy
_DocTestTimes = numpy.rec.fromrecords(_DocTestTimes, formats='f8,S255', names='time,test')
_DocTestTimes.sort(order=('time', 'test'))
numpy.savetxt(self.timetests, _DocTestTimes[::-1], fmt="%8.4f\t%s")
raise exitErr
感谢您报告此事。我已提交问题。
我相信您可以通过将 fipy.tests.test.test.run_tests()
中的相关代码更改为以下内容来修复此错误:
exitErr = None
try:
...
except SystemExit, exitErr:
...
...
if exitErr is not None:
raise exitErr
但我需要做一些测试。我实际上无法触发您看到的错误,但您确定的我们的代码肯定是错误的。