Python 中的 QuantLib - 无法 pickle 'SwigPyObject' 对象
QuantLib in Python - cannot pickle 'SwigPyObject' object
我在 Visual Studio 2017 年编译了 QuantLib,并在 x64 版本下构建了库。然后我根据这里的说明安装了 QuantLib Swig:https://www.quantlib.org/install/windows-python.shtml
VS中的目录设置如下图:
然后我使用 QuantLib 测试了普通欧式期权,运行 没有错误:
option = EuropeanOption(PlainVanillaPayoff(Option.Call,100),EuropeanExercise(Date(11,5,2021)))
但是我无法检查 IDE 中的变量 option
(我使用 Spyder)并看到错误:
Spyder was unable to retrieve the value of this variable from the console.
错误信息是:
cannot pickle 'SwigPyObject' object
我看到这个变量的值是EuropeanOption object of QuantLib.QuantLib module
。
版本:
Python: 3.8
Quantlib: 1.19
QuantLib-SWIG: 1.19
boost: 1_74_0
Spyder: 4.1.4
非常感谢任何帮助。
(此处为 Spyder 维护者) 不幸的是,并非所有 Python 对象都可以通过变量浏览器进行探索。只能查看 picklable 的那些,而您在上面发布的错误消息说 EuropeanOption
不是。
此外,没有避免此问题的解决方法,因为 picklable 是 Python 对象的基本 属性,Spyder 无法更改。
我在 Visual Studio 2017 年编译了 QuantLib,并在 x64 版本下构建了库。然后我根据这里的说明安装了 QuantLib Swig:https://www.quantlib.org/install/windows-python.shtml
VS中的目录设置如下图:
然后我使用 QuantLib 测试了普通欧式期权,运行 没有错误:
option = EuropeanOption(PlainVanillaPayoff(Option.Call,100),EuropeanExercise(Date(11,5,2021)))
但是我无法检查 IDE 中的变量 option
(我使用 Spyder)并看到错误:
Spyder was unable to retrieve the value of this variable from the console.
错误信息是:
cannot pickle 'SwigPyObject' object
我看到这个变量的值是EuropeanOption object of QuantLib.QuantLib module
。
版本:
Python: 3.8
Quantlib: 1.19
QuantLib-SWIG: 1.19
boost: 1_74_0
Spyder: 4.1.4
非常感谢任何帮助。
(此处为 Spyder 维护者) 不幸的是,并非所有 Python 对象都可以通过变量浏览器进行探索。只能查看 picklable 的那些,而您在上面发布的错误消息说 EuropeanOption
不是。
此外,没有避免此问题的解决方法,因为 picklable 是 Python 对象的基本 属性,Spyder 无法更改。