2016-12-04 5 views
0

Я использую Python 3.4 и следую за книгой "Think Python: how to think like a computer scientist". Я действительно выяснил эту проблему неделю назад, но сохранил за исходный код, когда он не смог запустить, как на прошлой неделе. Сейчас у меня есть:ImportError: нет модуля с именем Tkinter

import tkinter 
from swampy.TurtleWorld import * 

, который дает:

ImportError: No module named 'Tkinter' 

Когда у меня был код работает на прошлой неделе, я свободно напомнить, что в строке «импорта Tkinter», был участок в конце это выглядело так: [Tkinter]. Я пробовал import tkinter as Tkinter, но он не работает.

Если я изменю его на Python2.7. И пробег

import Tkinter 
from swampy.TurtleWorld import * 
world = TurtleWorld() 
bob = Turtle() 
print (bob) 
fd(bob, 100) 
lt(bob) 
fd(bob, 100) 
wait_for_user() 

Открывается окно TurtleWorld, но нет черепахи. Как я могу заставить это работать снова (предпочтительнее Python 3.4)?

+0

Ваше имя файла. Что это? Если он называется 'tkinter.py', то измените его –

+1

Немедленный урок, чтобы узнать: используйте управление версиями для всего. Второй урок: Python чувствителен к регистру, это Tkinter в 2.x, но tkinter в 3.x. – jonrsharpe

+0

Вы пробовали 'от Tkinter import *'? – Trey50Daniel

ответ

0

Вы пытаетесь запустить код Python 2 в Python 3, который загружает определенные модули Python 2 (Tkinter), и это не сработает.

Пакет TurtleWorld по умолчанию - Python 2, но есть версия неподдерживаемой версии Python 3 на странице «Зеленый чай» «Swampy: Installation Instructions». Перейдите к разделу Python 3 внизу. Вам придется либо установить этот пакет вручную, либо просто сохранить его в своем рабочем каталоге и импортировать его оттуда. (Инструкции объясняют это.)

Другой альтернативой является использование модуля черепахи, который поставляется с Python 3, поскольку он функционально подобен для большинства экспериментов, связанных с черепахой. (Я ответил на вопросы TurtleWorld по SO, используя модуль черепахи Python.) Например:

from turtle import Turtle, Screen 

bob = Turtle(shape="turtle") 
print(bob) 
bob.fd(100) 
bob.lt(90) 
bob.fd(100) 

screen = Screen() 
screen.exitonclick() 
Смежные вопросы