2011-12-27 4 views
0

これには数時間を費やしました。 Linuxでの仕事は、作業を終わらせるのではなく、断片化したディストリビューションでは機能しないスクリプトをデバッグすることです。Python 2.7.2をSuse Linux Server 11.3にインストールするとtkinterの依存関係が見つかりません

Setup.pyは必要なものを見つけようとすると、特定の依存関係をラップするために必要なものを見つけようとします。これにより、スクリプトはパスとファイル名に比べて非常に脆弱になります。

.pyソースから伝えるのは非常に難しいですが、tkinterにはtcl、tk、tixが必要です。これらの最新バージョンはすべてインストールされています。これを確認するには、SUSEディストリビューションのimports_tkinterとTkinterモジュールに付属しているPython 2.6とテストスクリプトを正しく実行する必要があります。

スクリプトがライブラリを見つける必要があるようです。私は32ビットと64ビットの両方をインストールしています。だから、これらのライブラリが存在する: 32ビット、64ビット libtk8.5.soは/ usr/libには/ usr/lib64に libtcl8.5.so ""

どちらのパスがSetup.pyで、適切な検索リストに含まれています。しかし、私は、Setup.pyが正しいファイル名を検索するとは思わない。これは、tkとtclで始まり​​、さまざまなバージョン( '8.5'を含む)をカレンダーに入れたファイルを検索するようです。しかし、ファイル名は 'lib'で始まらない。もっと改ざんを始める前に、Python.orgの人たちが本当にこれをひどく乱してしまったのでしょうか?それはそう思わない。 SUSE Linuxは非常に奇妙なディストリビューションですか?これはどちらかと思われません。

私はsetup.pyがバイナリを探すとは思わないが(実行時には...)、usr/libとusr/lib64に存在する。

私が見つけることができる唯一のインクルードファイルは、tclextendです。 usr/includeにはtclextend.hがあります。私はtclやtkの他の.hファイルを見つけることができませんでした。もちろん、Pythonのcラッパーが必要とするインクルードファイルには、Python 2.7のダウンロードが付属しています。

私はちょっと気分がいいです。これは、このような巨大な時間の無駄です。構築プロセスをスキップしてtcl/tkサポートを構築する方法はありますか?私もsslと同じ問題があります:それは構築されません。一度に一つのことを。

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

+0

私はTcl用の-develパッケージをインストールしていないと思っていました。私はすべてのdevelパッケージの完全なディレクトリを持っています。私はそれらをダウンロードしてインストールし、それが解決するかどうかを確認します。 –

答えて

0

rpmパッケージのセットには多くの配布ポイントがあります。これにより、tcl用のヘッダなどの個々のパッケージをインストールすることができました。しかし、これは悪いアプローチでした。なぜなら、tkinterのPythonサポートを構築するための完全な依存関係の階層は、60個のパッケージのオーダーであるからです。

OSのバージョン11.3用のOpenSuSEリポジトリに必要なものがすべて含まれていることがわかりました。私のNovellディストリビューションにはNovellのリポジトリが付属しており、これはほぼすべての開発パッケージを除外しています。

問題を解決しました。 pythonのmakeは、tkinterの前提条件をすべて見つけました。

このような質問には申し訳ありません。

関連する問題