web-dev-qa-db-ja.com

Tcl / TkのActiveStateディストリビューションをインストールされているHomeBrewにリンクするにはどうすればよいですかPython

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を使用した場合にも、まったく同じ問題が発生することに気付きました。

24
tburrows13

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

したがって、問題を解決するための完全なレシピは次のようになります。

  1. Homebrew-dupesタップをアクティブ化/インストールします
  2. Tcl-tkをインストールします
  3. Homebrewtcl-tkを使用してhomebrew python

実行するコマンドは次のとおりです。

  1. brew tap homebrew/dupes
  2. brew install tcl-tk
  3. brew install python --with-tcl-tk
2
fedepad

Homebrewは優れたパッケージマネージャーであり、パッケージをインストールする際には、情報を確認することをお勧めします。

brew info python

渡すことができる多くのオプションを示しています。しかし、最も重要なのは

--with-tcl-tk

macOS Tkの代わりにHomebrewのTkを使用します(オプションのCocoaとスレッドをサポートしています)

1
Sarvex

私はいくつかの厄介な解決策を考えることができます-

1)インストールされたモジュールの実際の場所をパスの先頭に挿入します

import sys

sys.path.insert(1, 'YourTclLocation')

2)新しい場所を追加し、以前の場所を削除します

import sys
sys.path.append('YourTCLLocation')
sys.path.remove('ProblemLocation')
import Tcl

3)pYTHONPATH環境変数をbashに設定し、壊れた場所がないことを確認します

0
Illusionist