簡體   English   中英

Mac Homebrew Idle3.7.1在Mojave 10.14 Beta上崩潰

[英]Mac homebrew Idle3.7.1 Crashes on Mojave 10.14 Beta

當我通過終端打開空閑窗口時,空閑窗口打開得很好,但是當我嘗試在空閑窗口上滾動或對空閑窗口進行任何快速移動時,它立即崩潰並出現錯誤:

Traceback (most recent call last):
File "/usr/local/bin/idle3", line 5, in <module>
main()
File "/usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/idlelib/pyshell.py", line 1552, in main
root.mainloop()
File "/usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/tkinter/__init__.py", line 1283, in mainloop
self.tk.mainloop(n)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

我試過命令brew reinstall python --with-tcl-tk ,但是沒有運氣。 我只收到錯誤Error: invalid option: --with-tcl-tk 我嘗試幾次完全卸載並重新安裝,但是沒有運氣。 我正在使用Tk版本8.5.9,我已經用brew更新了它,但是python似乎仍在使用舊版本。

雖然我不知道是什么原因,但我能夠找到解決方案。

idlelib/editor.py

如果您注釋掉第149行,則當您嘗試滾動時IDLE停止崩潰。

149    text.bind('<MouseWheel>', self.mousescroll)
150    text.bind('<Button-4>', self.mousescroll)
151    text.bind('<Button-5>', self.mousescroll)

這需要更改為:

149    ##text.bind('<MouseWheel>', self.mousescroll) # Now IDLE should work
150    text.bind('<Button-4>', self.mousescroll)
151    text.bind('<Button-5>', self.mousescroll)

這似乎也沒有破壞任何東西,但確實解決了該問題。

您可以通過運行找到該文件

>>> import idlelib.editor
>>> idlelib.editor
<module 'idlelib.editor' from '/usr/local/Cellar/python/3.7.2_2/Frameworks/Python.framework/Versions/3.7/lib/python3.7/idlelib/editor.py'>
>>>

經過測試:

  • macOS Mojave 10.14.3

  • Python 3.7.2(從brew install python

  • Tcl / Tk(8.5.9)


更新資料

還可以通過從python.org重新安裝python來解決此問題。 以前,我使用的是brew安裝,這似乎已經引起了問題。

我今天剛剛將Macbook Air更新為Mojave和Python 3.7.1,后者使用PSF python.org安裝程序進行安裝,該安裝程序將安裝tcl / tk 8.6.8和tkinter進行編譯以與之配合使用。 據我手動測試,IDLE測試通過,並且IDLE正常運行。 我強烈建議您也這樣做。 我不能支持任何其他安裝。

我認為https://www.python.org/download/mac/tcltk/應該更新為調用8.5.9'不推薦'。 有關如何使Python識別較新的8.5.x,請參閱最后一節“ Python如何選擇要使用的Tk庫”。

顯然,Mojave上的tk 8.6.8甚至存在問題。 Mac tk開發人員今天剛剛在Python跟蹤器上寫道,tk提示中有更改,以適應Mojave API的更改。 8.5不再被更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM