當我運行一個龜圖形單元並繪製一些東西它沒事,但是如果我關閉窗口並再次運行該單元,我會遇到一個叫做終結者的奇怪錯誤,重新啓動內核以便能夠再次運行該單元。如果我試圖連續運行2個不同的烏龜圖形單元(2個單元繪製不同的東西並編碼良好),這也發生在我身上。如果我運行其中一個,那麼我重新啓動內核,然後運行另一個,沒有發生錯誤,但不得不重新啓動內核並不好,讓我很不高興。這隻發生在我用我的新的MacBook, 與我的PC Windows一切都很好,我可以連續運行和重複烏龜圖形單元,唯一的想法,我需要做的就是關閉當前的烏龜窗口運行其他。運行Python 3龜時出現奇怪的終結者錯誤龜OS X
import turtle
window = turtle.Screen()
t = turtle.Turtle()
t.forward(50)
turtle.mainloop()
如果我運行這段代碼一次是alright.But如果我關閉龜窗口,並沒有重新啓動之前內核再次運行它,我得到這個錯誤:
--------------------------------------------------------------------------
Terminator Traceback (most recent call last)
<ipython-input-2-48bfc10d8dfd> in <module>()
2
3 window = turtle.Screen()
----> 4 t = turtle.Turtle()
5
6 t.forward(50)
/Users/marti/anaconda/lib/python3.5/turtle.py in __init__(self, shape, undobuffersize, visible)
3814 shape=shape,
3815 undobuffersize=undobuffersize,
-> 3816 visible=visible)
3817
3818 Pen = Turtle
/Users/marti/anaconda/lib/python3.5/turtle.py in __init__(self, canvas, shape, undobuffersize, visible)
2555 self._undobuffersize = undobuffersize
2556 self.undobuffer = Tbuffer(undobuffersize)
-> 2557 self._update()
2558
2559 def reset(self):
/Users/marti/anaconda/lib/python3.5/turtle.py in _update(self)
2658 return
2659 elif screen._tracing == 1:
-> 2660 self._update_data()
2661 self._drawturtle()
2662 screen._update() # TurtleScreenBase
/Users/marti/anaconda/lib/python3.5/turtle.py in _update_data(self)
2644
2645 def _update_data(self):
-> 2646 self.screen._incrementudc()
2647 if self.screen._updatecounter != 0:
2648 return
/Users/marti/anaconda/lib/python3.5/turtle.py in _incrementudc(self)
1290 if not TurtleScreen._RUNNING:
1291 TurtleScreen._RUNNING = True
-> 1292 raise Terminator
1293 if self._tracing > 0:
1294 self._updatecounter += 1
Terminator:
我不知道爲什麼我得到這個錯誤,並在互聯網上發現了關於它的糟糕信息。同樣的錯誤發生在我擁有不同的龜細胞並在另一個之前運行。我發現的唯一的事情是在finder.Thats的幫助()命令引爆烏龜是我在這裏找到關於終止:
CLASSES
builtins.Exception(builtins.BaseException)
Terminator
class Terminator(builtins.Exception)
| Will be raised in TurtleScreen.update, if _RUNNING becomes False.
|
| This stops execution of a turtle graphics script.
| Main purpose: use in the Demo-Viewer turtle.Demo.py.
|
| Method resolution order:
| Terminator
| builtins.Exception
| builtins.BaseException
| builtins.object
|
| Data descriptors defined here:
|
| __weakref__
| list of weak references to the object (if defined)
|
我在編程位新手,這個錯誤也影響了我很多我真的希望有人能幫助我。也許可以幫助解決這個問題,當我運行一隻烏龜,然後以正確的方式關閉窗口,比如使用mainloop(),烏龜圖形窗口似乎被關閉,但實際上我一直在碼頭上看到它吧,就像它被最小化或者它已經在運行一樣,然後當我運行另一個烏龜圖形窗口時,也許舊的一個以某種奇怪的方式保持打開的事實影響了新的,並且我得到這個終結者錯誤。
我有IPython中,蟒蛇,或OSX沒有經驗,我不明白你* *的「龜細胞」或「重啓籽粒」的意思。如果你在命令行運行'python myturtle.py',關閉窗口並重新運行,應該沒問題。試試這個來確定。在https://hg.python.org/cpython/rev/1ae2382417dc/中,我修補了龜文件以捕獲由於外部演示程序阻止了龜程序的特殊情況而產生的終結者。可能是OSX上的Anaconda未正確設置運行海龜程序。嘗試從IDLE運行。 –
謝謝你的回答特里。對於烏龜細胞,我指的是ipython筆記本中的一個代碼單元,我在其中編寫使烏龜或多個烏龜畫圖的東西的圖形代碼。對於內核,我的意思是讓ipython筆記本工作的東西,這是程序的核心或其他東西。我試圖運行'python myturtle.py',但它說沒有這樣的文件或目錄。 – Borrell
python.org網站的東西我不知道如何管理它,似乎在IDLE龜的作品中,但我的目標是在ipython筆記本上運行它,因爲它更容易讓我操縱它並學習它。也許你是對的,OS X上的anaconda沒有正確設置來運行海龜程序......或者我可能會遇到anaconda missinstaled或奇怪的事情。不管怎樣,謝謝你! – Borrell