MacOS 10.12.1Sierraを使用しています。私はPython 2.7.12をインストールして使用しています
brew install python
しかし、IDLEは警告を出します
WARNING: The version of Tcl/Tk (8.5.9) in use may be unstable.
Visit http://www.python.org/download/mac/tcltk/ for current information.
そして確かに、それは頻繁にクラッシュしました。 8.5.9はmacOSのプリインストールバージョンです。
安定版8.5.18を ActiveState Webサイトからダウンロードできます( python で推奨されているように、Pythonからのpythonインストールで動作します。 org(不安定なmacOSのデフォルト8.5.9に頼る前に、他のバージョンのTcl/Tkを探すため)。
ただし、このダウンロードは、インストールされているbrew python IDLEには影響しません。これは、引き続き8.5.9を使用します。
更新されたTcl/TkをHomebrewにリンクするためにできることはありますか、またはTcl/Tkをhomebrewに直接インストールできますか?
また、ユーザーがインストールしたtcl/tk8.5.18ではなくプリインストールされたmactcl/tk8.5.9を使用するanacondapythonを使用した場合にも、まったく同じ問題が発生することに気付きました。
tcl-tk
はHomebrew経由でインストールでき、Homebrewをインストールすることができますpythonそのバージョン(Homebrewがインストールされている)にリンクされているtcl-tk
。
それに対する唯一の「バリア」は、正しい自作タップを有効にすることです、as tcl-tk
はHomebrewの「デフォルト」タップにありません。
確かに tcl-tk
は、homebrew-dupesと呼ばれるタップにあります(ページを引用)
macOSが提供するソフトウェアを複製する式。ただし、より新しいバージョンまたはバグ修正バージョンが提供される場合があります。
ここにhomebrew-dupesへのリンクがあります:
https://github.com/Homebrew/homebrew-dupes
そしてここでtcl-tkの式
https://github.com/Homebrew/homebrew-dupes/blob/master/tcl-tk.rb
したがって、問題を解決するための完全なレシピは次のようになります。
実行するコマンドは次のとおりです。
brew tap homebrew/dupes
brew install tcl-tk
brew install python --with-tcl-tk
Homebrewは優れたパッケージマネージャーであり、パッケージをインストールする際には、情報を確認することをお勧めします。
brew info python
渡すことができる多くのオプションを示しています。しかし、最も重要なのは
--with-tcl-tk
macOS Tkの代わりにHomebrewのTkを使用します(オプションのCocoaとスレッドをサポートしています)
私はいくつかの厄介な解決策を考えることができます-
1)インストールされたモジュールの実際の場所をパスの先頭に挿入します
import sys
sys.path.insert(1, 'YourTclLocation')
2)新しい場所を追加し、以前の場所を削除します
import sys
sys.path.append('YourTCLLocation')
sys.path.remove('ProblemLocation')
import Tcl
3)pYTHONPATH環境変数をbashに設定し、壊れた場所がないことを確認します