10

私はPythonが初めてです。Python 用の C/C++ 拡張機能をいくつか作成し、Python disutils セットアップ スクリプトを使用してそれらをビルドすることができました。しかし、このセットアップ スクリプトを既存のビルド システムに統合する必要があります。そこで、run_setup() メソッドを使用してこのセットアップ スクリプトを呼び出す別のスクリプトを作成しました。

distributionObj = run_setup("setup.py",["build_ext"])

ここで、拡張機能 (コンパイラ、リンカーなど) のビルド中にエラーが発生した場合、呼び出し元スクリプトからエラー文字列と共に情報を取得して、ビルド プロセスに通知できるようにする必要があります。

何か提案をください。

4

4 に答える 4

18

環境で DISTUTILS_DEBUG=1 を設定すると、デバッグ ログが記録されます。

于 2012-12-06T15:56:51.097 に答える
8

distutils1 (最初のバージョン) も内部バージョンのロギングを使用します (少しハードコードされており、標準のロギング モジュールを使用していません)。次のような詳細レベルのコーディングを設定できると思います。

import distutils.log
distutils.log.set_verbosity(-1) # Disable logging in disutils
distutils.log.set_verbosity(distutils.log.DEBUG) # Set DEBUG level

利用可能なすべての distutils のログ レベル:

DEBUG = 1
INFO = 2
WARN = 3
ERROR = 4
FATAL = 5

参考までにdistutilsのクラス「Log」のソースコードを見ることができます。通常、 /usr/lib/python2.7/distutils/log.pyの Python 2.7 の場合

于 2012-12-31T10:36:27.183 に答える
2

-vパラメータを渡してpython setup.py build冗長性を高めると、通常はより詳細なエラーを取得できます。

于 2012-12-05T11:59:38.357 に答える