Frage

Ich lese das Buch Denken Python von Allen Downey. Für Kapitel 4, hat man eine Reihe von Modulen Swampy genannt zu verwenden. Ich habe heruntergeladen und installiert es.

Das Problem ist, dass die Module in Python geschrieben wurde 2 und ich habe Python 3 (in Windows 7 RC1). Als ich das TurtleWorld Modul von Swampy lief, bekam ich Fehlermeldungen über die Druck und exec-Anweisungen, die nun Funktionen sind in Python 3. ich diese Fehler, indem Klammern mit Druck und exec im Code der GUI und Welt Module festgelegt. Ich habe auch einen Fehler, der das Tkinter-Modul kann nicht gefunden werden. Es stellte sich heraus, dass in Python 3 der Modulname mit einem kleinen t geschrieben ist.

Der dritte Fehler ist schwieriger: Import. Kein Modul mit dem Namen tkFont

Hat jemand eine Idee, bitte? Danke.

War es hilfreich?

Lösung

Viele wichtige Bibliotheken von Drittanbietern noch nicht für Python geschrieben 3; Sie werden jetzt zu Python 2.x bleiben haben. Es gibt keinen Weg drum herum. Wie heißt es auf der offiziellen Python Download-Seite ,

  

Wenn Sie nicht wissen, welche Version   verwenden, beginnen Sie mit Python 2.6.4; Mehr   bestehende Software von Drittanbietern ist   kompatibel mit Python 2 als Python 3   jetzt.

Andere Tipps

Es sieht aus wie tkinter schließlich mit Python 3 aufholt - tkFont worden 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()

Für Mac-Anwender: Ich bin ein Python-Neuling und kam über das exakt gleiche Problem. Ich schreibe dies so andere nicht mehrere Stunden verschwenden, um dies herauszufinden. Hier ist, was man tun:

  • Installieren Sie Python 3 für den oben genannten Gründen, das heißt, um zu vermeiden alle Swampy Code zu ändern. Stattdessen laden Sie die neueste Version von Python 2 (I verwendet 2.7.5).
  • Dann laden Sie die Swampy-2.1.1.tar.gz Datei von hier: https: //pypi.python.org/pypi/swampy/2.1.1 . Extrahieren Sie diese Datei mit einem Doppelklick auf das in Ihrem Downloads-Ordner.
  • öffnen Sie die erstellten Ordner, Swampy 2.1.1. Sie sollten mehrere Einzelteile sehen, einschließlich der Ordner, sumpfigen.
  • Hier ist der entscheidende Schritt: Ziehen Sie diesen Ordner in den letzten in diesem Pfad: Macintosh HD / Library / Frameworks / Python.framework / Versions / 2.7 / lib / python2.7 / site-packages. Nochmals: ziehen Sie den Ordner „sumpfig“ und legen Sie es in die „site-packages“ -Ordner.
  • Wenn Sie das tun, Python im Terminal anwerfen und geben Sie „Import swampy.TurtleWorld.“ Wenn Sie die Sparren (>>>) zu sehen, und Sie erhalten keine Fehlermeldung angezeigt wird, sind Sie gut den Unterricht fortzusetzen.

Es ist ein Konvertierungs-Werkzeug für Python-2-Code Umwandlung mit Python 3 zu arbeiten: http://svn.python.org/view/sandbox/trunk/2to3/

Nicht sicher, wie dies zu 3rd-Party-Bibliotheken erweitert, aber es könnte vorbei dies über den sumpfigen Code wert sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top