1

レガシー Tcl ベースのアプリケーションがあり、同じアプリケーション用の Python ラッパーを作成する予定です。私の Tcl レガシー アプリケーションには、独自の Tcl インタープリターが付属しています。システムが提供するインタープリターは使用しません。

Tkinter.Tcl() を使用して Tcl インタープリターにフックし、eval を使用して Tcl 命令を実行する予定です。

しかし、Python の Tkinter は、システムにインストールされているデフォルトの Tcl インタープリターを呼び出しています。私のレガシーアプリケーションに同梱されているTclインタープリターを使用するようにTkinterに指示する方法???

PS: システムの root 権限はありませんが、ローカル ワークスペースで Python や Tcl、あるいはその両方を再構築することは問題ありません。

4

1 に答える 1

0

Tk ライブラリとのすべてのリンクは、Python の_tkinter.soC 拡張モジュールを通じて行われます。ライブラリにリンクしてビルドすることもでき_tkinter.soますが、すべてのユーザーのシステムで使用されているシステム Python と同じオプションでビルドされた場合にのみ動作が保証されます。最も安全で確実な方法は、Tcl/Tk にリンクされた独自の Python を構築し、それをアプリケーションの一部として出荷することです。Python を非標準の場所で Tcl/Tk とリンクさせるのは少し難しいかもしれません。detect_tkinterPython のトップレベルのメソッドを変更して、ファイルsetup.pyの目的の場所を探すのが最も簡単な場合がincludeありlibます。(setup.pyは、 を含む Python 標準ライブラリ モジュールの構築を制御するもの_tkinter.soです。)

于 2013-07-04T05:57:09.000 に答える