Использование с помощью numpy.distutils
Устаревшее
Этот подмодуль считается устаревшим и больше не будет получать обновлений. Это также может означать, что он будет удалён в будущих версиях NumPy. distutils был удалён в пользу meson, см. Состояние numpy.distutils и рекомендации по миграции.
numpy.distutils является частью NumPy и расширяет стандартный модуль Python distutils для работы с Fortran-источниками и файлами сигнатур F2PY, например, компиляция Fortran-источников, вызов F2PY для создания модулей расширения и т. д.
Расширения для distutils
numpy.distutils расширяет distutils следующими функциями:
-
Extensionаргумент классаsourcesможет содержать Fortran-исходные файлы. Кроме того, списокsourcesможет содержать не более одного файла сигнатуры F2PY, и в этом случае имя модуля расширения должно совпадать с<modulename>, используемым в файле сигнатуры. Предполагается, что файл сигнатуры F2PY содержит ровно одинpython moduleблок.Если
sourcesне содержат файла сигнатуры, то F2PY используется для сканирования Fortran-исходных файлов для построения обёртки к Fortran-коду.Дополнительные параметры для исполняемого файла F2PY могут быть заданы с помощью аргумента класса
Extensionf2py_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