Comme le titre l'indique, pour ceux qui souffrent de cette erreur.
J'ai eu beaucoup de mal quand on m'a dit quand j'ai utilisé f2py
(maintenant intégré dans numpy) pour appeler fortran en tant que module python.
L'environnement est MacOS 10.15 Catalina.
Si vous avez une version inférieure à celle-ci, je l'omettrai car beaucoup d'informations sont déjà disponibles (cela devrait être OK si vous téléchargez l'outil de ligne de commande depuis la page officielle et le décompressez).
Puisqu'il ne s'agit que d'un mémorandum, je conclus dès le début. Exécutez la commande suivante dans le terminal.
$ sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/* /usr/local/include/
Vous pouvez maintenant mettre un lien symbolique vers l'en-tête Xcode dans / usr / local / include /
.
Après cela, par exemple
$ python3 -m numpy.f2py -c hello.f90 -m hello
Si vous le faites, vous aurez un fichier nommé hello.cpython-38-darwin.so
etc.
$ python3 f2.py
Hello from Fortran!
a= 4
Si oui, cela fonctionnera.
f2.py
import hello
hello.foo(4)
hello.f90
subroutine foo(a)
integer :: a
write(*,*) "Hello from Fortran!" !Afficher les caractères ici
write(*,*) "a=",a !Sortie entière ici
end subroutine foo