私は、すべてのアドオンに python を使用する Blender のエクスポート スクリプトを作成しています。私のコードベースのほとんどは C++ であるため、エクスポート スクリプトからインポートされる Python モジュール (pyd) としてコードをラップし、変換に関連するすべてのビットを渡すことにしました。
リリース ビルドを作成する限り、blender はモジュールを問題なくロードし、Visual Studio でデバッグすることもできますが、バグを解決するには、リリース ビルドは信頼できないため、モジュールのデバッグ ビルドを使用する必要があります。残念ながら、その場合、モジュールはロードされません。
Python コンソールから:
>>> import exporter_d
Traceback (most recent call last):
File "<blender_console>", line 1, in <module>
ImportError: DLL load failed: The specified module could not be found.
少し調べてみたところ、エラーは別のdllが見つからないということであることがわかりました。他に何もロードしていないため、モジュールとともにPythonのデバッグビルドを追加しました。エラーは異なります。
Traceback (most recent call last):
File "<blender_console>", line 1, in <module>
ImportError: dynamic module does not define init function (PyInit_exporter_d)
そこで、モジュールの初期化名を「PyInit_exporter」から「PyInit_exporter_d」に変更しました(致命的なエラーでブレンダーをクラッシュさせていたため、デバッグの pythond.dll を削除しました)。最初のエラー(dll の読み込みに失敗しました)が返されます。
それで、私の質問はこれです、Pythonのリリースバージョンを実行しているときにPythonモジュールのデバッグビルドをロードするにはどうすればよいですか? pythonはblenderに組み込まれているので、ソースをダウンロードしてリビルドするのは避けたいです。