我在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'
我希望我不会过分。
我要再等两个星期才能见到教授,因为我要进行肩部手术可能还要更长的时间。
答案 0 :(得分:0)
即使在今天,Apple的Mac OS X默认仍提供Python 2的多个版本(在命令行中称为python
)和Python 3的任何版本。您应该安装自己的Python 3(通常以{ {1}}。)
您还可以使代码对此差异基本不敏感:
python3
以上内容在任一主要版本的Python上均应运行相同。