Форум сайта python.su
Добрый день. Для изучения использую статью:
https://russianblogs.com/article/8944324994/
создала fib3.f запустила командой python -m numpy.f2py -c -m fib3 fib3.f
Все транслируется верно. В директории появляется файл fib3.cp39-win_amd64.pyd и папка fid3.
Далее в файле вызова пишу import fib3
выдает ответ ImportError: DLL load failed while importing fib3: Не найден указанный модуль.
Как указать путь не понимаю, вижу, что занесение идет во временные файлы.
Л.В.
Офлайн
По этим материалам учись
https://numpy.org/doc/stable/f2py/
https://numpy.org/doc/stable/f2py/f2py.getting-started.html
По русским перепечаткам учишься - в итоге не знаешь ничего.
Вот это пишешь в файл fib1.f
C FILE: FIB1.F
SUBROUTINE FIB(A,N)
C
C CALCULATE FIRST N FIBONACCI NUMBERS
C
INTEGER N
REAL*8 A(N)
DO I=1,N
IF (I.EQ.1) THEN
A(I) = 0.0D0
ELSEIF (I.EQ.2) THEN
A(I) = 1.0D0
ELSE
A(I) = A(I-1) + A(I-2)
ENDIF
ENDDO
END
C END FILE FIB1.F
python3 -m numpy.f2py -c fib1.f -m fib1
fib1.cpython-36m-x86_64-linux-gnu.so
cp fib1.cpython-36m-x86_64-linux-gnu.so fib1.so
fib1.so
[guest@localhost f2py_test]$ python3
Python 3.6.1 (default, Jun 27 2017, 14:35:15)
[GCC 7.1.1 20170622 (Red Hat 7.1.1-3)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import fib1 >>> >>> print(fib1.fib.__doc__) fib(a,[n]) Wrapper for ``fib``. Parameters ---------- a : input rank-1 array('d') with bounds (n) Other Parameters ---------------- n : input int, optional Default: len(a) >>> >>> import numpy >>> >>> a = numpy.zeros(8, 'd') >>> >>> fib1.fib(a) >>> >>> a array([ 0., 1., 1., 2., 3., 5., 8., 13.]) >>>
Отредактировано py.user.next (Дек. 10, 2021 23:05:22)
Офлайн