модуль fortran создан с использованием f2py - PullRequest
0 голосов
/ 10 октября 2019

Я создал модуль функции Fortran, используя f2py, и использовал его в своем коде. Он создал функцию .pyf и файл .so в macOS Catalina с python3.7 и numpy 1.17.2. Тот же код при запуске в Ubuntu 18.04 выдает ошибку импорта модуля, модуль не найден.

Итак, я попытался создать тот же модуль в Ubuntu, и код работает нормально.

Теперь, когда я создал модуль в Ubuntu, я запустил код в macOS, код выдает ошибку импорта модулямодуль не найден.

Я создал два разных модуля, один в Ubuntu и один в macOS, и оба работают по отдельности, но один модуль в Ubuntu и macOS не работает вместе.

Любой возможныйпомощь заметна

С уважением

Модуль создания инструкций, используемых для создания в macOS

python3.7 -m numpy.f2py SLSQP_ONLY.f -m SLSQP4 -h SLSQP4.pyf 
python3.7 -m numpy.f2py -c SLSQP4.pyf SLSQP_ONLY.f

Модуль инструкций, используемых для создания в Ubuntu

python3.7 -m numpy.f2py SLSQP_ONLY.f -m SLSQP5 -h SLSQP5.pyf 
python3.7 -m numpy.f2py -c SLSQP5.pyf SLSQP_ONLY.f
    from __future__ import division, print_function, absolute_import

    from os.path import dirname, realpath, sep, pardir
    import sys
    sys.path.append(dirname(realpath(__file__)) + sep + pardir + sep + "DA_Opt_Module")
    sys.path.insert(0,__file__)

    print(sys.path)

    import numpy as np
    from linalg_da.decomp_cholesky import cho_factor, cho_solve
    import sys
    import warnings
    from Python_linesearch_Only import (line_search_wolfe2,
                             line_search_wolfe2 as line_search,
                             LineSearchWarning)


    __all__ = []

    __all__ = ['minimize', 'minimize_scalar']


    from warnings import warn


    from scipy._lib.six import callable


    from SLSQP5 import slsqp # Fortran wrapper for SLSQP minimizer problems

Если я использую SLSQP5, код работает в Ubuntu, а macOS выдает ошибку импорта модуля, а если я использую SLSQP4, Ubuntu выдает ошибку импорта модуля, и код работает в macOS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...