質問

Allen Downeyの本 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であることが判明しました。

3番目のエラーはより困難です:ImportError:tkFontという名前のモジュールはありません。

誰にもアイデアはありますか?ありがとう。

役に立ちましたか?

解決

多くの重要なサードパーティライブラリはまだPython 3用に書き換えられていません。今のところPython 2.xに固執する必要があります。それを回避する方法はありません。 公式のPythonダウンロードページで述べているように、

  

どのバージョンにすべきかわからない場合   使用して、Python 2.6.4から始めます。もっと   既存のサードパーティソフトウェアは   Python 3よりPython 2と互換性があります   今。

他のヒント

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()

MACユーザーの場合:私はPython初心者であり、まったく同じ問題に遭遇しました。他の人がこれを理解しようとして数時間を無駄にしないように、私はこれを書いています。あなたがすることは次のとおりです:

  • 上記の理由、つまりすべてのSwampyコードを変更する必要がないため、Python 3をインストールしないでください。代わりに、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。」と入力します。シェブロン(>>>)が表示され、エラーメッセージが表示されない場合は、レッスンを続行しても構いません。

Python 2コードをPython 3で動作するように変換するための変換ツールがあります: http://svn.python.org/view/sandbox/trunk/2to3/

これがサードパーティのライブラリにどのように拡張されるかはわかりませんが、これを沼沢地のコードに渡す価値があるかもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top