Неопределенный символ при импорте модуля f2py с использованием Python 3
Я пытаюсь скомпилировать минимальную подпрограмму Fortran90 с помощью f2py, чтобы использовать ее с Python 3. Она работает, когда я использую Python 2.7, но когда я импортирую ее в файл Python 3, я получаю сообщение об ошибке. Мне это нужно для работы в Python 3.
Моя подпрограмма на Фортране:
subroutine test(a,b)
implicit none
integer, intent(in) :: a
integer, intent(out) :: b
b = a*2
end subroutine
Вот как я собираю:
f2py -c test.f90 -m test
Затем я пытаюсь импортировать в Python 3 так
import test
и получите эту ошибку:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: /home/.../hello.so: undefined symbol: PyCObject_Type
Я искал эту ошибку, но не нашел ничего, что имело бы для меня смысл.
1 ответ
Как указал @cdarke, я использовал неправильную версию f2py. Компиляция с помощью f2py3.4 устранила проблему.