我正在尝试为我的领域中的一些stream行的Fortran代码做一个python包分发。 我希望它使用setup.py文件最标准的方法。 相关问题有助于学习如何打包Fortran扩展 。 当使用这种方法时,我注意到混合setuptools和numpy.distutils时有一些混淆的行为。 混合两者是不好的做法? 截至2015年,似乎最好尽可能使用setuptools 。 不过,我想用与numpy.兼容的方式构buildFortran扩展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通常是一个好的做法吗? 我input的订单是否重要? 我应该总是先导入setuptools ? 有没有官方的最新教程打包numpy扩展? 也许甚至有一些讨论Fortran扩展? – 一些链接 http://www.fortran90.org/src/best-practices.html#interfacing-with-python