Я пытаюсь сделать дистрибутив пакета python для некоторых популярных кодов Fortran в моей области. Я хочу, чтобы он использовал самый стандартный подход с файлом setup.py. Связанный qustion был полезен для обучения для того, чтобы обернуть расширения Fortran.
При использовании этого подхода я заметил некоторое запутанное поведение при смешивании setuptools и numpy.distutils. Неправильно ли это смешивать эти два? По состоянию на 2015 год предпочтительнее использовать setuptools как можно больше.
Тем не менее, я хотел бы построить расширения Fortran таким образом, который совместим с numpy. Итак, я хотел бы импортировать из numpy.distutils, чтобы получить Extension и setup.
Я использую следующий базовый подход:
from setuptools.command.develop import develop
from numpy.distutils.core import Extension, setup
ext_modules=[Extension("my_package.fortran_mod", sources=['src/fortran_mod.f'])]
class MyDevelop(develop):
  def run(self):
    my_script()
    develop.run(self)
setup(
  ...
  ext_modules=ext_modules,
  cmdclass={'develop':MyDevelop})
Это похоже на работу, но у меня есть вопросы.
-  Как правило, рекомендуется смешивать 
setuptoolsиnumpy.distribute? -  Является ли порядок, который я им импортирую, имеет значение? Должен ли я всегда импортировать 
setuptoolsпервым? -  Есть ли официальный обновленный учебник по расширению упаковки для 
numpy? Возможно, даже один с некоторыми расширениями Фортрана? 
Некоторые ссылки
https://www.youtube.com/watch?v=R4yB-8tB0J0
http://www.fortran90.org/src/best-practices.html#interfacing-with-python