2009-06-29 12 views
4

私はTkinterを使うPythonスクリプトを書いています。私はMac OS 10.4.11にあるいくつかのコンピュータにそのスクリプトを配備したいと思っています。しかし、MAC OS Xのビルドには、壊れたTCL/TKのインストールがあるようです。でも、パッケージをロードすると、私を与える:私たちは、オフィスにいると、私たちが使用してから人々を阻止することになる、ITは、各コンピュータに来てもらう必要があるだろうので、TCL/TKの再インストールTkinterがTcl/Tkライブラリを探すためにtkinterに指示する方法(再インストールせずにライブラリを壊す)

Traceback (most recent call last): 
File "<stdin>", line 1, in ? 
ImportError: dlopen(/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/lib-dynload/_tkinter.so 2): Symbol not found: _tclStubsPtr 
Referenced from: /System/Library/Frameworks/Tk.framework/Versions/8.4/Tk 
Expected in: /System/Library/Frameworks/Tcl.framework/Versions/8.4/Tcl 

はオプションではありませんスクリプト。

TkinterにTK/TCLフレームワークの他の部分を見せるように指示する簡単な方法はありますか? Tcl/Tk Aquaのスタンドアロンバージョンをダウンロードしましたが、Tkinterがどのフレームワークを使用するかを制御する方法がわかりません。

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

お使いのシステムは、Pythonを起動する前に、ご使用の環境でDYLD_LIBRARY_PATHを変更することによって、動的/共有ライブラリを検索する場所を変更できアダム

答えて

1

$ DYLD_LIBRARY_PATH=<insert path here>:$DYLD_LIBRARY_PATH python 

を...またはラッパーを作成します:あなたはそうのようなターミナルでこれを行うことができます

#!/bin/sh 
export DYLD_LIBRARY_PATH=<insert path here>:$DYLD_LIBRARY_PATH 
exec python "[email protected]" 

DYLD_LIBRARY_PATHのドキュメントがdyld man pageで見つけることができます。

Do は、あなたの.bashrcまたは他のプロファイルまたはシステム全体の設定でこれを設定します。これは厄介な問題を引き起こす可能性があるためです。

+0

これはPythonがライブラリを見つけるのを助けましたが、今はtkinterが新しいファイルを探す場所を知らないようです。今度は、tkinterが "次のディレクトリで使用できるinit.tclを見つけることができません"というエラーが表示され、標準のPythonライブラリディレクトリ(DYLD_LIBRARY_PATHに入れたパスではありません)がすべてリストされます。 誰かがTkinterの検索パスを変更する方法を知っていますか? ありがとうございました。 – Tim

+0

PYTHONPATHも設定されていますか? –

関連する問題