system:
Mac OSX 10.14
Miniconda Python (3.7.6)
numpy 1.18.1
gcc 9.2 (homebrew)
gfortran 9.2 (homebrew)
mkl 2020.0 (from anaconda)
Я связываю модуль f2py с предоставленными conda библиотеками MKL, но перед импортом numpy я получаю символ не найден. Я задаюсь вопросом, является ли это ожидаемым поведением, а именно, требуется ли мне импортировать numpy, или я просто делаю что-то не так, как показано ниже, и если да, то что?
Возьмите следующий файл с именем Fortran под названием test.f90
:
subroutine hello
print *, "hello world"
end subroutine
скомпилировать с: f2py -c -m test test.f90 -L$CONDA_PREFIX/lib -lmkl_rt -lmkl_core
Теперь запустите на терминале следующее:
> python
Python 3.7.6 (default, Jan 8 2020, 13:42:34)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import test
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: dlopen(/Users/username/pth/test.cpython-37m-darwin.so, 2): Symbol not found: _mkl_blas_caxpy
Referenced from: /Users/username/miniconda3/lib/libmkl_core.dylib
Expected in: flat namespace
in /Users/username/miniconda3/lib/libmkl_core.dylib
>>> import numpy
>>> import test
>>> test.hello()
hello world
>>>