Spumpy.1.1和Python3

Spumpy.1.1和Python3,python,python-3.x,Python,Python 3.x,我正在读艾伦·唐尼的书。对于第4章,必须使用一组名为的模块。我已经下载并安装了它 问题是这些模块是用Python2编写的,我有Python3(在Windows7RC1中)。当我从沼泽运行TurtleWorld模块时,我得到了关于print和exec语句的错误消息,它们现在是Python3中的函数。我通过在GUI和World模块的代码中包含带有print和exec的括号修复了这些错误。我还得到一个错误,Tkinter模块找不到。事实证明,在Python3中,模块名用小写字母t拼写 第三个错误更难:

我正在读艾伦·唐尼的书。对于第4章,必须使用一组名为的模块。我已经下载并安装了它

问题是这些模块是用Python2编写的,我有Python3(在Windows7RC1中)。当我从沼泽运行TurtleWorld模块时,我得到了关于print和exec语句的错误消息,它们现在是Python3中的函数。我通过在GUI和World模块的代码中包含带有print和exec的括号修复了这些错误。我还得到一个错误,Tkinter模块找不到。事实证明,在Python3中,模块名用小写字母t拼写

第三个错误更难:ImportError:没有名为tkFont的模块


请问有人知道吗?谢谢。

许多重要的第三方库尚未为Python 3重写;您现在必须坚持使用Python2.x。这是没有办法的。正如上面所说

如果您不知道要使用哪个版本 使用,从Python 2.6.4开始;更多 现有的第三方软件是 与Python 2兼容,而与Python 3兼容 现在


有一个转换工具,用于将Python 2代码转换为Python 3:


不确定这是如何扩展到第三方库的,但这可能值得在冗长的代码中传递。

看起来tkinter终于赶上了Python 3-tkFont已成为tkinter.font


对于MAC用户:我是Python新手,遇到了完全相同的问题。我写这篇文章是为了让其他人不要浪费几个小时去想办法。以下是您要做的:

  • 出于上述原因,不要安装Python3,也就是说,为了避免不得不更改所有冗长的代码。相反,下载最新版本的Python2(我使用的是2.7.5)
  • 然后从以下位置下载沼泽-2.1.1.tar.gz文件:。双击下载文件夹中的文件以提取此文件
  • 打开生成的文件夹沼泽2.1.1。你应该会看到几个项目,包括文件夹,沼泽
  • 关键步骤是:将此文件夹拖到路径中的最后一个:Macintosh HD/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages。重复:拖动文件夹“沼泽”并将其放入“站点包”文件夹
  • 完成此操作后,在终端中启动Python并键入“import Swarmy.TurtleWorld”。如果您看到V形(>>>)并且没有看到错误消息,则可以继续学习

这将是最简单的。谢谢我将首先尝试一下Stephen Doyle建议的转换工具。我发现tkFont应该被tkinter.font取代。然后我不得不将.iteritems()更改为.items(),TurtleWorld的gui最终显示出来。但现在我遇到了运行时错误:使turtle反转的按钮不起作用,而且是ws,因为它由“apply()”内置函数控制,Python 3不再支持该函数。
#!/usr/bin/env python3.2
# -*- coding: utf-8 -*-
#
#       font_ex.py
#       

import tkinter

top = tkinter.Tk()

butt01 = tkinter.Button(top, text="Hello World", font=('Helvetica', 24,))

custom_font_serif = ('Times', 24, 'bold')
butt02 = tkinter.Button(top, text="Hello World", font=custom_font_serif)

custom_font_sans = ('Helvetica', 36, 'italic')
butt03 = tkinter.Button(top, text="Hello World", font=custom_font_sans)

butt01.pack()
butt02.pack()
butt03.pack()

top.mainloop()