使用nag4py导入错误:“无法导入名称INIT_FAIL”

时间:2017-01-16 20:49:41

标签: python python-2.7 eigenvalue

我有一个脚本来计算特征值和矢量而没有平衡,我几乎每天使用多年,需要nag4py。代码位于此博客中:http://www.walkingrandomly.com/?p=5303,其中有相关的SO帖子(How to use eig with the nobalance option as in MATLAB?)。

昨天我升级了nag4py,现在运行多年来一直运行的相同脚本时遇到以下错误:

  

来自nag4py.util import   Nag_RowMajor,Nag_NoBalancing,Nag_NotLeftVecs,Nag_RightVecs,Nag_RCondEigVecs,整型NagError,INIT_FAIL

     

ImportError:无法导入名称INIT_FAIL

与此同时,我通过导入octave解决了这个问题,默认情况下使用no balance选项。但我想用nag4py来解决这个问题。

我已经测试了NAG许可证,它是有效的。

1 个答案:

答案 0 :(得分:0)

nag4py软件包的发布版本使用' quiet_fail'和' noisy_fail',它们在嵌入式文档中记录:

  

处理NAG C库检测到的错误或警告案例   在nag4py中使用与库中类似的NagError机制   本身。 nag4py util模块提供两个便利功能   (' quiet_fail'和' noisy_fail')创建一个NagError实例   分别禁用或启用消息打印。

以下是改变:

Index: nag4py/util.py
===================================================================
--- nag4py/util.py  (revision 104707)
+++ nag4py/util.py  (revision 104708)
@@ -4736,14 +4736,20 @@
     return _arg


-def INIT_FAIL(fail):
+def quiet_fail():
+    "Returns a NagError instance with printing disabled."
+    fail = NagError()
     fail.eprint = Nag_FALSE
+    return fail

-def SET_FAIL(fail):
+def noisy_fail():
+    "Returns a NagError instance with printing enabled."
+    fail = NagError()
     fail.eprint = Nag_TRUE
+    return fail

-__all__.append("INIT_FAIL")
-__all__.append("SET_FAIL")
+__all__.append("quiet_fail")
+__all__.append("noisy_fail")

 def get_input_func():
     from sys import version_info