UYARI: Kullanılan Tcl / Tk (8.5.9) sürümü kararsız olabilir


6

MacOS Sierra 10.12.2 kullanıyorum ve Python'un IDLE'in Tcl / Tk ile düzgün çalışmasını sağlamaya çalışıyorum. IDLE'ı açtığımda alıyorum hata mesajı:

Python 2.7.13 (default, Dec 18 2016, 07:03:39) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin
Type "copyright", "credits" or "license()" for more information.
>>> 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.

Hata mesajındaki linki ziyaret ederek belgeleri okudum ve bu kaynaktan Tcl / Tk versiyon 8.5.18.0'ı yükledim . Belki bir brewPython 2.7.13 kurulumu çalıştırdığımı not etmek önemlidir . DMG'yi 8.5.18.0 için yükledikten sonra, bash terminali ve Python, Tcl / Tk yükseltmesini tanımıyor (8.5.18.0 yerine Tcl / Tk (8.5.9) tanıdığını unutmayın. IDLE ve nasıl alabilirim? yükseltilmiş python kurulum yükseltilmiş Tcl / Tk 8.5.18.0 tanımak için homebrew yükleyin? Başka bir deyişle, uyarı iletisini nasıl çözebilirim?


Sorunuzu yanlış anladıysam özür dilerim, ancak kullanımda olmanızın yanı sıra UYARI: Kullanılan Tcl / Tk (8.5.9) sürümü dengesiz bir mesaj olabilir ; Tcl / Tk 8.5.9?
Monomeeth

Bu adamcağız - Beklenmedik birkaç kaza yaptım.
Borealis

Teşekkürler. Görüyorum ki Python 2.7.13 kullanıyorsunuz. Python 3.6.0 yerine bu sürümü çalıştırmanızın bir nedeni var mı?
Monomeeth

Bu Python ile yüklü 2.7 son sürümü var brewgöre, Python 3. üzerinde ayrıca ActiveTcl 8.5.18.0 sürümü ile güzel oynamak için önerilen Python sürümüdür tercih python.org/download/mac/tcltk .
Borealis

Yanıtlar:


4

Bu Python Yazılım Vakfı sayfasına göre:

Bu web sitesinden indirilen Mac OS X yükleyicileri için Python, çalışma zamanında dinamik olarak Tcl / Tk macOS çerçevelerine bağlanır. Tcl / Tk ana sürümü, yükleyici oluşturulduğunda ve geçersiz kılınamadığında belirlenir. Python 3.6.x, 3.5.x ve 2.7.x için Python 64-bit / 32-bit Mac OS X yükleyicileri dinamik olarak Tcl / Tk 8.5 çerçevelerine bağlanır. Mac OS X için yalnızca 32 bit Python yükleyiciler, Tcl / Tk 8.4 çerçevelerine dinamik olarak bağlanır.

Her iki durumda da, dinamik olarak bağlanma, tkinter (Python 3) veya Tkinter (Python 2) ilk içe aktarıldığında (özellikle dahili _tkinter C uzatma modülü) meydana geldiğinde gerçekleşir. Varsayılan olarak, macOS dinamik bağlayıcısı, ilk olarak Tcl ve Tk çerçeveleri için / ana / ana sürümüyle birlikte Library / Frameworks'te görünür. Bu, üçüncü şahıslar için standart konumdur veya ActiveTcl sürümleri de dahil olmak üzere kaynak çerçevelerinden inşa edilmiştir. Uygun ana versiyonun çerçeveleri burada bulunmazsa, dinamik linker, MacOS ile birlikte verilen Apple tarafından sağlanan çerçevelerin yeri / System / Library / Frameworks'de aynı sürümü arar. (Not, normal olarak / System / Library'deki dosyaları değiştirmemeli veya silmemelisiniz.)

Kaynak: arayın Tk Kütüphane Nasıl Kullanılır Python seçimini yapar üzerindeki alt pozisyon https://www.python.org/download/mac/tcltk/#activetcl-8-5-18-0

Bu nedenle, Tcl / Tk 8.5.18.0'a güncellediğinizden% 99.9 eminim, yapmanız gereken Python 2.7.13'ü yeniden yüklemek.

Bunun sorununuzu çözeceğine inanmamın nedeni, alıntı yaptığım bilgileri okuduğumda, Python tarafından kullanılan Tcl / Tk sürümünün yükleme işlemi sırasında seçildiğini ve Python'u tekrar yüklemeden değiştirilemeyeceği açık.


2

Yığın Taşması bu çözümü sorunu çözdü:

brew tap homebrew/dupes
brew install tcl-tk
brew install python --with-tcl-tk

Bu seçenek --with-tcl-tkkaybolduğu için mümkün değildir .
Garini,

1

2018 Güncellemesi

Sistem sağlanan python / tcl-tk her zaman bu hatayı gösterecektir.

Güncellenmiş bir tcl-tk ve güncellenmiş bir python kurulumunu indirebilirsiniz (yeni tcl-tk'ye bağlanmak için python'u yeniden kurmanız gerekir - ilk önce tcl / tk'yi kurun!).

PREFERRED yöntemim Homebrew kullanıyor .

tcl-tk geliştirme sürümünü kaldırın

brew uninstall tcl-tk --devel

tcl-tk'yi kurun

brew install tcl-tk

python ve python3'ü kaldırın (tcl-tk bağlanması python yüklendiğinde gerçekleşir, bu nedenle tcl-tk kurulu olduktan sonra yeniden kurmamız gerekir)

brew uninstall python
brew uninstall python3

python ve python 3'ü yeniden yükleyin

brew install python
brew install python3

Ölçek

brew test python
brew test python3

test IDLE ("boşta" sisteme yüklenmiş python / tcl-tk'ye işaret eder, artık onu kullanmayacağız ancak gelecekteki sorunları önlemek için orada bırakabiliriz)

idle2
idle3
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.