Python turtle图形在运行OSX 10.6的Mac上出现故障

0 投票
1 回答
2528 浏览
提问于 2025-04-17 08:33

这是我在我的Mac上运行Python海龟图形时遇到的结果。有没有其他人也遇到过这个问题?有没有什么建议可以解决这个问题?提前谢谢大家!

$ python
Python 2.6.1 (r261:67515, Aug  2 2010, 20:10:18) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import turtle
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk/turtle.py", line 114, in <module>
    from copy import deepcopy
  File "/Users/morrison/copy.py", line 3, in <module>
    Interface summary:
IndexError: list index out of range
>>> 

1 个回答

3

你在运行这个的时候,当前目录是 /Users/morrison/ 吗?

如果是这样的话,问题出在解释器的当前工作目录被用来查找 Python 模块了。除了标准位置,它还会在你当前的目录里找模块。你在这个目录下有一个叫 copy.py 的文件,而实际上 turtle 模块想要用的是标准库里的 copy 模块。

之所以会这样,是因为当你在交互模式下运行 Python 解释器时,它会自动把当前工作目录加到 sys.path 的最前面。(如果你在不同的目录下运行这个目录里的脚本,脚本所在的目录也会被加到 sys.path 的最前面。)

解决这个问题最简单的方法就是把 copy.py 重命名为 mycopy.py(别忘了把这个目录下的 copy.pyc 文件也删掉)。

撰写回答