Spec-Zone.ru › NumPy 2.0

Использование с помощью numpy.distutils

Устаревшее

Этот подмодуль считается устаревшим и больше не будет получать обновлений. Это также может означать, что он будет удалён в будущих версиях NumPy. distutils был удалён в пользу meson, см. Состояние numpy.distutils и рекомендации по миграции.

numpy.distutils является частью NumPy и расширяет стандартный модуль Python distutils для работы с Fortran-источниками и файлами сигнатур F2PY, например, компиляция Fortran-источников, вызов F2PY для создания модулей расширения и т. д.

Пример

Рассмотрим следующий setup_file.py для примеров fib и scalar из раздела Три способа обертки — начало работы:

from numpy.distutils.core import Extension

ext1 = Extension(name = 'scalar',
                 sources = ['scalar.f'])
ext2 = Extension(name = 'fib2',
                 sources = ['fib2.pyf', 'fib1.f'])

if __name__ == "__main__":
    from numpy.distutils.core import setup
    setup(name = 'f2py_example',
          description       = "F2PY Users Guide examples",
          author            = "Pearu Peterson",
          author_email      = "pearu@cens.ioc.ee",
          ext_modules = [ext1, ext2]
          )
# End of setup_example.py

Запуск

python setup_example.py build

построит два модуля расширения scalar и fib2 в директории сборки.

Расширения для distutils

numpy.distutils расширяет distutils следующими функциями:

  • Extension аргумент класса sources может содержать Fortran-исходные файлы. Кроме того, список sources может содержать не более одного файла сигнатуры F2PY, и в этом случае имя модуля расширения должно совпадать с <modulename> , используемым в файле сигнатуры. Предполагается, что файл сигнатуры F2PY содержит ровно один python module блок.

    Если sources не содержат файла сигнатуры, то F2PY используется для сканирования Fortran-исходных файлов для построения обёртки к Fortran-коду.

    Дополнительные параметры для исполняемого файла F2PY могут быть заданы с помощью аргумента класса Extension f2py_options.

  • Определены следующие новые distutils команды:

    build_src

    для создания модулей расширения обёртки Fortran, среди прочего.

    config_fc

    для изменения параметров компилятора Fortran.

    Кроме того, команды build_ext и build_clib также улучшены для поддержки Fortran-источников.

    Запустите

    python <setup.py file> config_fc build_src build_ext --help
    

    чтобы увидеть доступные параметры для этих команд.

  • При создании пакетов Python, содержащих Fortran-источники, можно выбрать разные компиляторы Fortran, используя опцию команды build_ext --fcompiler=<Vendor>. Здесь <Vendor> может быть одним из следующих имён (в linux системах):

    absoft compaq fujitsu g95 gnu gnu95 intel intele intelem lahey nag nagfor nv pathf95 pg vast
    

    См. numpy_distutils/fcompiler.py для получения актуального списка поддерживаемых компиляторов для разных платформ или запустите

    python -m numpy.f2py -c --backend distutils --help-fcompiler
    

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/f2py/buildtools/distutils.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API