3

Fortran サブルーチンを使用する myscript.py ファイルを含む Python パッケージ「trees」があります。

通常、私は fortran モジュールをコンパイルします

f2py -c -m calctree calctree.f90

そして、私はそれを行うことができます

from trees import myscript
myscript.mysub()

calctree.so を利用する

実行してdistutilsですべてをパッケージ化すると

python ./setup.py sdist

setup.py の内容はどこにありますか

#! /usr/bin/env python
from distutils.core import setup

setup(name='trees',
      version='0.1',
    packages=['trees']
    )

MANIFEST.inファイルに「include trees/calctree.f90」を指定すると、.f90ファイルをインクルードできますが、ユーザーのコンピューターでf2pyでコンパイルし、.soファイルを配置する方法がわかりません適切な場所で。誰でも助けることができますか?

ありがとうございました!

4

1 に答える 1

1

独自のセットアップ機能を持つ numpy.distutils.core モジュールを使用したい。setup.py は次のようになります (fortran ファイルが trees という名前のディレクトリにあると仮定します)。

import numpy.distutils.core
import setuptools


# setup fortran 90 extension
#---------------------------------------------------------------------------  
ext1 = numpy.distutils.core.Extension(
    name = 'calctree',
    sources = ['trees/calc_tree.f90'],
    )


# call setup
#--------------------------------------------------------------------------
numpy.distutils.core.setup( 

    name = 'trees',
    version = '0.1',        
    packages = setuptools.find_packages(), 
    package_data = {'': ['*.f90']}, 
    include_package_data = True,   
    ext_modules = [ext1],

)  

それは少なくとも最初の一歩になるはずです。

于 2014-01-31T06:16:02.500 に答える