使用Python 3的Swampy.1.1

时间:2009-10-30 14:24:29

标签: python python-3.x

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

问题是模块是用Python 2编写的,我有Python 3(在Windows 7 RC1中)。当我从Swampy运行TurtleWorld模块时,我收到有关print和exec语句的错误消息,这些语句现在是Python 3中的函数。我通过在GUI和World模块的代码中包含带有print和exec的括号来修复这些错误。我还得到一个错误,即无法找到Tkinter模块。事实证明,在Python 3中,模块名称拼写为小写t。

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

有人有任何想法吗?谢谢。

4 个答案:

答案 0 :(得分:6)

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

http://docs.pythonsprints.com/python3_porting/py-porting.html

#!/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()

答案 1 :(得分:3)

许多重要的第三方库尚未针对Python 3进行重写;你现在必须坚持使用Python 2.x.没有其他办法了。正如official Python download page上所述,

  

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

答案 2 :(得分:1)

对于MAC用户:我是一个Python新手,遇到了完全相同的问题。我正在写这篇文章,所以其他人不要浪费几个小时试图解决这个问题。这是你做的:

  • 出于上述原因不要安装Python 3,即避免更改所有Swampy代码。相反,下载最新版本的Python 2(我使用2.7.5)。
  • 然后从这里下载Swampy-2.1.1.tar.gz文件:https://pypi.python.org/pypi/swampy/2.1.1。通过在“下载”文件夹中双击该文件来解压缩该文件。
  • 打开生成的文件夹Swampy 2.1.1。你应该看到几个项目,包括文件夹,沼泽。
  • 以下是关键步骤:将此文件夹拖到此路径中的最后一个文件夹:Macintosh HD / Library / Frameworks / Python.framework / Versions / 2.7 / lib / python2.7 / site-packages。重复:拖动文件夹“swampy”并将其放入“site-packages”文件夹中。
  • 一旦你这样做,在终端启动Python并输入“import swampy.TurtleWorld”。如果您看到V形符号(>>>)并且您没有看到错误消息,那么您可以继续上课。

答案 3 :(得分:0)

有一个转换工具,用于将Python 2代码转换为与Python 3一起使用:http://svn.python.org/view/sandbox/trunk/2to3/

不确定这是如何扩展到第三方库的,但可能值得将其传递给沼泽的代码。