Python-3.6: Scipy-0.19: AttributeError: у объекта "Делоне" нет атрибута "_points"
Столкнулся с этой ошибкой после обновления до scipy 0.19 при попытке позвонить interpnd()
:
def __init__(self,m_ini,age,feh,m_act,logL,Teff,logg,mags,tri=None,
minage=None, maxage=None, ext_table=False):
self.minage = age.min()
self.maxage = age.max()
self.minmass = m_act.min()
self.maxmass = m_act.max()
self.minfeh = feh.min()
self.maxfeh = feh.max()
self.ext_table = ext_table
if minage is not None:
self.minage = minage
if maxage is not None:
self.maxage = maxage
L = 10**logL
if tri is None:
points = np.zeros((len(m_ini),3))
points[:,0] = m_ini
points[:,1] = age
points[:,2] = feh
fn = interpnd(points,m_act)
self.tri = fn.tri
else:
self.tri = tri
self.mass = interpnd(self.tri,m_act)
self._data = {'mass':m_act,
'logL':logL,
'logg':logg,
'logTeff':np.log10(Teff),
'mags':mags}
self._props = ['mass', 'logL', 'logg', 'logTeff']
self.bands = mags.keys()
self._mag = {band:interpnd(self.tri,mags[band]) for band in self.bands}
d = {}
for b in self._mag.keys():
d[b] = self._mag_fn(b)
self.mag = d
Сообщение об ошибке:
Traceback (most recent call last):
File "/Users//anaconda/lib/python3.6/site-packages/nose/failure.py", line 39, in runTest
raise self.exc_val.with_traceback(self.tb)
File "/Users//anaconda/lib/python3.6/site-packages/nose/loader.py", line 417, in loadTestsFromName
addr.filename, addr.module)
File "/Users//anaconda/lib/python3.6/site-packages/nose/importer.py", line 47, in importFromPath
return self.importFromDir(dir_path, fqname)
File "/Users//anaconda/lib/python3.6/site-packages/nose/importer.py", line 94, in importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "/Users//anaconda/lib/python3.6/imp.py", line 234, in load_module
return load_source(name, filename, file)
File "/Users//anaconda/lib/python3.6/imp.py", line 172, in load_source
module = _load(spec)
File "<frozen importlib._bootstrap>", line 675, in _load
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
File "/Users//isochrones/isochrones/tests/tests.py", line 11, in <module>
DAR = Dartmouth_Isochrone()
File "/Users//isochrones/isochrones/dartmouth/isochrone.py", line 89, in __init__
**kwargs)
File "/Users//isochrones/isochrones/isochrone.py", line 145, in __init__
self.mass = interpnd(self.tri,m_act)
File "scipy/interpolate/interpnd.pyx", line 243, in scipy.interpolate.interpnd.LinearNDInterpolator.__init__ (scipy/interpolate/interpnd.c:5484)
File "scipy/interpolate/interpnd.pyx", line 71, in scipy.interpolate.interpnd.NDInterpolatorBase.__init__ (scipy/interpolate/interpnd.c:2621)
File "scipy/spatial/qhull.pyx", line 1910, in scipy.spatial.qhull.Delaunay.points (scipy/spatial/qhull.c:18892)
AttributeError: 'Delaunay' object has no attribute '_points'`
Поднял вопрос о Github, но без ответа. Эта проблема не возникала до того, как я обновился, но теперь, даже когда я опускаюсь до версии scipy 18.1, проблема все еще возникает. Я также попытался удалить Scipy и переустановить его, но это тоже не сработало.
1 ответ
Я обнаружил, что существует проблема совместимости между пакетом isochrones и новым пакетом scipy. Проблема была решена создателем пакета.