Я успешно компилирую свою подпрограмму Fortran с помощью f2py. Однако создается папка и файл pyd.
Если я не помещаю созданный pyd-файл в сгенерированную папку, я получаю эту ошибку
ImportError: DLL load failed: The specified module could not be found.
Если я помещаю сгенерированный .pyd-файл в сгенерированную папку , мой python скрипт запустится, и импорт, кажется, будет работать. Однако, если я запускаю print(energy_f2py.__doc__)
None
, это вывод, и когда я пытаюсь использовать подпрограмму, я получаю ошибку AttributeError: module 'energy_f2py' has no attribute 'potential_3'
potential_3
- это имя subroutine
внутри energy_f2py.f90
Я также пытался сделать energy_f2py.f90
модулем, содержащим подпрограмму, без различий в результатах.
Это pyd-файл, который генерируется energy_f2py.cp36-win_amd64.pyd
. Я использую командную строку в Pycharm (windows 10 64 бит) для компиляции файла Фортрана, используя
f2py -c -m energy_f2py energy_f2py.f90
python -m numpy.f2py -c -m energy_f2py energy_f2py.f90
То же самое происходит.
Мне кажется странным, что как файл pyd создается, так и папка, см. Изображение ниже ![enter image description here](https://i.stack.imgur.com/T7ySb.png)
Я застрял на этом этапе ... кажется, что это 95% пути к работе ...
Наконец, этот другой пост * У 1046 * было решение о том, чтобы называть модули Python и Fortran разными именами. Я попробовал это, и это тоже ничего не изменило.