Недавно я установил QuantLib-Python на Ubuntu 16.04 через apt:
sudo apt-get install -y libquantlib0-dev libquantlib0v5 quantlib-python
Кажется, когда я вызываю QuantLib через unittest в Eclipse PyDev, я получаю следующую ошибку:
AttributeError: 'module' object has no attribute 'Date'
Однако я могу успешно запустить QuantLib через терминал или как обычный Python-скрипт из Eclipse или как Pytest из Eclipse. См. пример кода ниже:
>>> import QuantLib as ql
>>> print ( ql.Date(1,1,2010) )
January 1st, 2010
Общая библиотека QuantLib установлена в следующую папку:
$ ls /usr/lib/python2.7/dist-packages/QuantLib/
init.py init.pyc QuantLib.py QuantLib.pyc _QuantLib.so
Папка QuantLib включена в мой sys.path
как в Eclipse, так и в Терминале. Результат приведен ниже:
/usr/lib/python2.7
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/lib-dynload
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/plat-x86_64-linux-gnu
/usr/local/lib/python2.7/dist-packages
/usr/local/lib/python2.7/dist-packages/Mako-1.0.7-py2.7.egg
/usr/local/lib/python2.7/dist-packages/MarkupSafe-1.0-py2.7-linux-x86_64.egg
/usr/local/lib/python2.7/dist-packages/appdirs-1.4.3-py2.7.egg
/usr/local/lib/python2.7/dist-packages/cx_Oracle-6.0rc2-py2.7-linux-x86_64.egg
/usr/local/lib/python2.7/dist-packages/decorator-4.1.2-py2.7.egg
/usr/local/lib/python2.7/dist-packages/pip-9.0.1-py2.7.egg
/usr/local/lib/python2.7/dist-packages/py-1.4.34-py2.7.egg
/usr/local/lib/python2.7/dist-packages/pycuda-2017.1-py2.7-linux-x86_64.egg
/usr/local/lib/python2.7/dist-packages/pytest-3.1.3-py2.7.egg
/usr/local/lib/python2.7/dist-packages/pytools-2017.4-py2.7.egg
Кто-нибудь знает, почему модуль QuantLib не работает через среду модульного тестирования?
PS: этот пост был изменен после того, как я узнал, что он терпит неудачу только через unittest.
import sys; print(sys.path)
. - person stovfl   schedule 20.08.2017'/usr/lib/python2.7/dist-packages'
в Eclipse. - person stovfl   schedule 20.08.2017