Как исправить ImportError: невозможно импортировать имя _wrapper с помощью slycot

Я установил пакет Python Slycot под Anaconda на OS X, используя

conda install -c http://conda.binstar.org/cwrowley slycot

но потом, когда я попытался использовать его

import slycot

Я получил эту ошибку

ImportError: dlopen(/Users/pheon/anaconda/lib/python2.7/site-packages/slycot/_wrapper.so, 2): Library not loaded: /usr/local/lib/gcc/4.9/libgfortran.3.dylib
  Referenced from: /Users/pheon/anaconda/lib/python2.7/site-packages/slycot/_wrapper.so
  Reason: image not found

Я что-то упустил, что я должен установить?

У меня есть libgfortran.3.dylib, но он установлен под

/ USR / местные / Библиотека / GCC /5

Должен ли я что-то связать?

ОБНОВИТЬ:

Я создал новую среду conda и установил в нее slycot. Мне тоже пришлось установить gcc, так что, возможно, что-то не так с линковкой.

Сделав это, я все еще получил ImportError. Поэтому я попытался установить из источника снова. Это привело к длинному журналу продукции на фортране, так что на этот раз, должно быть, он делал что-то другое.

Тем не менее, я все еще получаю ImportError.

./lib/libgfortran.3.dylib устанавливается под env.

а также

otool -L /Users/pheon/anaconda/envs/snowflakes/lib/python2.7/site-
packages/slycot/_wrapper.so

дает

/Users/pheon/anaconda/envs/snowflakes/lib/python2.7/site-packages/slycot/_wrapper.so:
    liblapack.dylib (compatibility version 0.0.0, current version 0.0.0)
    @rpath/./libgfortran.3.dylib (compatibility version 4.0.0, current version 4.0.0)
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 955.0.0)
    /Users/acurtis/anaconda/envs/snowflakes/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
    @rpath/./libquadmath.0.dylib (compatibility version 1.0.0, current version 1.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1225.1.1)

а также

>>>import slycot

все еще дает

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "slycot/__init__.py", line 16, in <module>
    from .analysis import ab01nd,ab05md,ab05nd,ab07nd,ab08nd, ab09ad, \
  File "slycot/analysis.py", line 21, in <module>
    from . import _wrapper
ImportError: cannot import name _wrapper

Может ли это быть что-то делать с этим "@rpath". Я не видел этого раньше?

1 ответ

Оказывается, slot использует библиотеку из gcc 4.9. Решением является установка gcc 4.9. Я сделал это с помощью доморощенного

brew install gcc49

Теперь все работает отлично.

Другие вопросы по тегам