[英]Why does Python's IDLE crash when I type a parenthesis on Mac?
好的,我知道這可能是一個非常細微的問題,但這已經困擾了我一段時間。 我喜歡IDLE的簡單腳本編寫界面,但在以下情況下它總是崩潰:(1)我在外部監視器上編碼,並且(2)鍵入括號按鈕“(”。IDLE不會因任何其他原因而崩潰奇怪的是,如果我連接了外接顯示器,但筆記本電腦的主屏幕上有IDLE dev窗口,則我有崩潰的零問題。(???)我丟失了很多代碼這個問題。
我在Mac OSX 10.11.3版上運行,並且擁有MacBook Pro(Retina,15英寸,2015年中),任何想法都將不勝感激!
好的,回答我自己的問題。 根據Андрей的推薦,我在這里查看了注釋和評論: http : //bugs.python.org/issue16177我做了一些實驗,並想出了一種避免此問題的解決方法。 僅當您在外部監視器中進行編碼並且將外部監視器的“排列”設置為相對於主監視器較高(或較高)時,才會出現此問題。 具體地說,當空閑顯示窗口完全或幾乎全部位於輔助屏幕上的某個空間中時,就會發生這種情況,該空間被視為位於主屏幕頂部邊緣的“北”。 因此,此修補程序是在Mac上重新配置“排列”設置,以使顯示器以接近水平的方式系統地對齊。 這可能會使事情變得不自然,但可以解決問題。 話雖這么說,我不知道問題的根本原因是什么。 我很高興終於弄明白了這一點。 希望這可以幫助至少另一個人。
我找到了解決方法! 不需要更改監視器設置的一種。
在IDLE中:
選項菜單>配置分機>通話提示>設置為FALSE
然后重新啟動。
經過大量研究,找到了超級簡單的解決方案...問題不是由IDLE中的錯誤引起的,而是由在默認監視器上方的外部監視器中調用調用提示時mac機的Tcl / Tk代碼錯誤引起的。
在函數名稱后面輸入'('應該會彈出一個調用提示,提供當前函數的簽名(如果該函數當前是已知的。可以通過偶爾運行您的代碼來使這些函數已知。)我們最近發現Mac OSX或MacOS和tcl的某些組合/ tk要求在idlelib/calltip_w.py
(3.6+)或idlelib/CallTipWindow.py
(3.5-)上idlelib/CallTipWindow.py
。 發行34275
self.label.pack() # Line 74
tw.update_idletasks() # ADD THIS LINE!
tw.lift()
如果沒有此選項,則不會出現提示。 我不知道這是否還可以防止人們報告的任何崩潰。 如果上述方法無效,請刪除_idletasks
並在評論中告知我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.