質問

多数の共有Pythonモジュールを持つpythonプログラムのコレクションによって生成されたCファイルの束があり、makeシステムでこれを考慮する必要があります。

各Cファイルを生成するために実行する必要があるpythonプログラムを列挙するのは簡単です。良い解決策が見つからないのは、それらのプログラムが依存している他のpythonファイルを判別することです。これが必要なので、makeは共有Pythonファイルの1つが変更された場合に再生成が必要なものを認識します。

Pythonソースのコレクションからmakeスタイルの依存関係ルールを作成するための優れたシステムはありますか?

役に立ちましたか?

他のヒント

import ステートメントは、ほとんどすべての依存関係です。 importステートメントには2つの関連するフォームがあります:

import x, y, z
from x import a, b, c

sys.path の構築に使用される PYTHONPATH および sites の情報も必要です。これは、モジュールとパッケージの物理的な場所を示しています。

インポートするすべてのモジュールのすべてのインポートを推移的に閉じる必要があるため、処理するのは苦痛です。

代替アプローチとして、 -v オプションを使用して、インポートおよび物理ファイルの完全なリストを取得できます。これにより、依存関係のフラットリストに編集できるログが生成されます。

たとえば、私がするとき

>>> import math

ログにこれが表示されます

dlopen("/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload/math.so", 2);
import math # dynamically loaded from /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload/math.so
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top