簡體   English   中英

在Mac上輸入括號時,為什么Python的IDLE崩潰?

[英]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.

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