vim python乌龟窗口

时间:2019-03-13 20:53:30

标签: python vim turtle-graphics

我在Mac上使用macOS Mojave v。10.14.3。 我正在按照教授的命令使用vim。 我在unix类中学习python。 我在vim中的第一行是:

import turtle             # Allows us to use turtles
wn = turtle.Screen()      # Creates a playground for turtles
alex = turtle.Turtle()    # Create a turtle, assign to alex

alex.forward(50)          # Tell alex to move forward by 50 units
alex.left(90)             # Tell alex to turn by 90 degrees
alex.forward(30)          # Complete the second side of a rectangle

wn.mainloop()             # Wait for user to close window

这些行是从以下位置复制的: 如何像计算机科学家一样思考:使用Python 3学习

做w |命令行上的!python%产生:

该窗口出现并立即消失!

具有:

Traceback (most recent call last):
  File "turtle", line 2, in <module>
    wn = turtle.Screen()      # Creates a playground for turtles
  File "/usr/lib/python2.7/lib-tk/turtle.py", line 3553, in Screen
    Turtle._screen = _Screen()
  File "/usr/lib/python2.7/lib-tk/turtle.py", line 3569, in __init__
    _Screen._root = self._root = _Root()
  File "/usr/lib/python2.7/lib-tk/turtle.py", line 458, in __init__
    TK.Tk.__init__(self)
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1823, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable

我使用ssh在我的RPi(我们用来了解内核的东西)上尝试了同样的事情,并且得到了:

该窗口出现并立即消失;如上。我没有复制shell响应。我想尝试以下方法。

然后我尝试在关闭后使用完整的'windows'regalia直接登录到RPi,并尝试使用相同的脚本和相同的命令行条目,并得到:

相同的窗口问题,增加了消失之前在窗口上绘制的内容。进一步:

Traceback (most recent call):
   File "turtle", line 9, in <module>
     wn.mainloop()        # wait for user to close window
AttributeError: '_screen' object has no attribute 'mainloop'

我希望我不会过分。
我要再等两个星期才能见到教授,因为我要进行肩部手术可能还要更长的时间。

1 个答案:

答案 0 :(得分:0)

即使在今天,Apple的Mac OS X默认仍提供Python 2的多个版本(在命令行中称为python)和Python 3的任何版本。您应该安装自己的Python 3(通常以{ {1}}。)

您还可以使代码对此差异基本不敏感:

python3

以上内容在任一主要版本的Python上均应运行相同。