Неопределенный символ при импорте модуля 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 устранила проблему.

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