I want to play with turtle module in Python. But when i do import turtle module, i’ve the following error:
$ python
Python 2.7.3 (default, Sep 26 2012, 21:51:14)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import turtle
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "turtle.py", line 3, in <module>
myTurtle = turtle.Turtle()
AttributeError: 'module' object has no attribute 'Turtle'
and for Python 3.x:
$ python3
Python 3.2.3 (default, Sep 30 2012, 16:41:36)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import turtle
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "turtle.py", line 3, in <module>
myTurtle = turtle.Turtle()
AttributeError: 'module' object has no attribute 'Turtle'
I working under Kubuntu Linux 12.10. I’ve played with Tkinter gui. There is no problem. What happen with turtle module?
|
0 / 0 / 0 Регистрация: 02.07.2016 Сообщений: 5 |
|
|
1 |
|
Не работает черепашка02.07.2016, 15:59. Показов 22845. Ответов 10
Добрый день! Начала изучать Python по детской книжке. Дошла до графики и столкнулась с проблемой: from turtle import* выдает ошибку, import turtle тоже не работает. Версию python установила, вроде бы, именно для своей операционной системы. Нигде не смогла найти ответ на свой вопрос. Буду очень признательна за помощь. Хочется двигаться дальше. Миниатюры
__________________
0 |
|
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
02.07.2016, 15:59 |
|
Ответы с готовыми решениями: ДП(Черепашка) Черепашка Код модуля: unit SmallTurtle; uses GraphABC; Черепашка Черепашка 10 |
|
5868 / 3331 / 1028 Регистрация: 03.11.2009 Сообщений: 9,950 |
|
|
02.07.2016, 17:07 |
2 |
|
Как Вы устанавливали turtle?
0 |
|
2738 / 2341 / 620 Регистрация: 19.03.2012 Сообщений: 8,832 |
|
|
02.07.2016, 17:57 |
3 |
|
Я кажется знаю в чем проблема. Для проверки зайди в ТЕРМИНАЛ, а не idle, запусти интерпретатор и оттуда импортируй библиотеку. Миниатюры
1 |
|
5868 / 3331 / 1028 Регистрация: 03.11.2009 Сообщений: 9,950 |
|
|
02.07.2016, 18:37 |
4 |
|
думаю вот этот вот turtle.py в /Users/mac/Documents/ ни разу не помогает импортировать turtle)
1 |
|
0 / 0 / 0 Регистрация: 02.07.2016 Сообщений: 5 |
|
|
02.07.2016, 20:50 [ТС] |
5 |
|
Как Вы устанавливали turtle? Боюсь, что никак думаю вот этот вот turtle.py в /Users/mac/Documents/ ни разу не помогает импортировать turtle) Это я просто сохраняла учебный код, чтобы потом запустить программу.
0 |
|
5868 / 3331 / 1028 Регистрация: 03.11.2009 Сообщений: 9,950 |
|
|
02.07.2016, 20:54 |
6 |
|
Не называйте файлы именами модулей, это приводит к весьма неожиданным и я бы даже сказал феерическим результатам
2 |
|
0 / 0 / 0 Регистрация: 02.07.2016 Сообщений: 5 |
|
|
02.07.2016, 20:57 [ТС] |
7 |
|
Спасибо большое! Теперь я знаю, как запустить python из Терминала
0 |
|
5868 / 3331 / 1028 Регистрация: 03.11.2009 Сообщений: 9,950 |
|
|
02.07.2016, 20:59 |
8 |
|
У меня все равно ничего не получилось покажите как именно у ВАс ничего не получилось.
0 |
|
0 / 0 / 0 Регистрация: 02.07.2016 Сообщений: 5 |
|
|
02.07.2016, 21:03 [ТС] |
9 |
|
Окошко терминала и еще одна попытка запустить черепашку в IDLE Миниатюры
0 |
|
5868 / 3331 / 1028 Регистрация: 03.11.2009 Сообщений: 9,950 |
|
|
02.07.2016, 21:06 |
10 |
|
РешениеВ терминале все нормально, в IDLE все та же проблема — вместо того, чтобы импортировать модуль, вы импортируете turtle.py в ~/Documents, потому что Вы назвали его также, как и модуль, а ~/Documents находится в sys.path. Переименуйте файл в my_turtle.py и все станет хорошо.
2 |
|
0 / 0 / 0 Регистрация: 02.07.2016 Сообщений: 5 |
|
|
02.07.2016, 21:15 [ТС] |
11 |
|
Спасибо! Сейчас попробую. Добавлено через 8 минут
0 |
|
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
02.07.2016, 21:15 |
|
Помогаю со студенческими работами здесь Черепашка Черепашка в визуальном отображение Посоветуйте графическую среду, в которой благодаря коду происходят действия, а-ля черепашка в python… Разработка программы-исполнителя(типа робот, черепашка,роботландия и тд) для младших школьников Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 11 |
I am trying to fix a problem I have with python/turtle I thought I had done something wrong like miss spelling something in the IDE but then I ran the exact same code directly to python 3.8 (32-bit) and it worked fine the code I ran was:
import turtle
Jeff = turtle.Turtle()
turtle.done()
and the errors say
Module 'turtle' has no 'Turtle' member; maybe 'turtle'?
Module 'turtle' has no 'done' member
- python
- import
- ide
- turtle-graphics
Asocia
5,7362 gold badges21 silver badges45 bronze badges
asked Jun 12, 2020 at 21:26
3
-
What’s the name of your source file?
Jun 12, 2020 at 21:58
-
sorry I am new by source file you mean the folder ?
Jun 12, 2020 at 22:17
-
Can you tell the name of the python file you are executing. Name of the python files should not be same as the package/module names. If you save this code in file called turtle.py and execute it , it will not conisder the imported turtle package. Rename it to some other name like turtle1.py or something else.
Jun 13, 2020 at 4:46
I am trying to fix a problem I have with python/turtle I thought I had done something wrong like miss spelling something in the IDE but then I ran the exact same code directly to python 3.8 (32-bit) and it worked fine the code I ran was:
import turtle
Jeff = turtle.Turtle()
turtle.done()
and the errors say
Module 'turtle' has no 'Turtle' member; maybe 'turtle'?
Module 'turtle' has no 'done' member
- python
- import
- ide
- turtle-graphics
Asocia
5,7362 gold badges21 silver badges45 bronze badges
asked Jun 12, 2020 at 21:26
3
-
What’s the name of your source file?
Jun 12, 2020 at 21:58
-
sorry I am new by source file you mean the folder ?
Jun 12, 2020 at 22:17
-
Can you tell the name of the python file you are executing. Name of the python files should not be same as the package/module names. If you save this code in file called turtle.py and execute it , it will not conisder the imported turtle package. Rename it to some other name like turtle1.py or something else.
Jun 13, 2020 at 4:46
Проблема в том, что вы назвали свою программу «turtle.py».
Итак, когда Python видит утверждение
from turtle import *
первый соответствующий модуль с именем turtle, который он находит, — это ваша программа «turtle.py».
Другими словами, ваша программа в основном импортирует себя, а не графический модуль черепахи.
Здесь приведен код, демонстрирующий эту проблему.
turtle.py
#! /usr/bin/env python
''' Mock Turtle
Demonstrate what happens when you give your program the same name
as a module you want to import.
See http://stackoverflow.com/q/32180949/4014959
Written by PM 2Ring 2015.08.24
'''
import turtle
foo = 42
print(turtle.foo)
help(turtle)
Думаю, я должен показать, что на самом деле печатает этот код…
При запуске в качестве turtle.py он печатает следующую информацию «Справка»:
Help on module turtle:
NAME
turtle - Mock Turtle
FILE
/mnt/sda4/PM2Ring/Documents/python/turtle.py
DESCRIPTION
Demonstrate what happens when you give your program the same name
as a module you want to import.
See http://stackoverflow.com/q/32180949/4014959
Written by PM 2Ring 2015.08.24
DATA
foo = 42
(END)
Когда вы нажмете Q, чтобы выйти из справки, информация справки снова отображается. Когда вы нажмете Q во второй раз, затем
42
42
.
Почему сообщение «help» и 42 печатаются дважды? Это потому, что весь код в turtle.py выполняется, когда он импортируется, а затем снова, когда он встречается после оператора import. Обратите внимание, что Python не пытается импортировать модули, которые он уже импортировал (если явно не сказано об этом с помощью reload). Если Python сделал повторный импорт, тогда приведенный выше код застрял бы в бесконечном цикле импорта.
При запуске как mockturtle.py он печатает:
Traceback (most recent call last):
File "./mock_turtle.py", line 16, in <module>
print(turtle.foo)
AttributeError: 'module' object has no attribute 'foo'
И, конечно, потому что стандартный turtle модуль фактически не имеет атрибута foo.
Hello,
If I try to run import turtle from the TKinter library I just get the following error.
Python 2.7.9 (default, Mar 8 2015, 00:52:26)
[GCC 4.9.2] on linux2
Type «copyright», «credits» or «license()» for more information.
import turtle
Traceback (most recent call last):
File «<pyshell#0>», line 1, in
import turtle
File «turtle.py», line 2, in
# turtle.py: a Tkinter based turtle graphics module for Python
NameError: name ‘shape’ is not defined
and
Python 3.4.2 (default, Oct 19 2014, 13:31:11)
[GCC 4.9.1] on linux
Type «copyright», «credits» or «license()» for more information.
import turtle
Traceback (most recent call last):
File «<pyshell#0>», line 1, in
import turtle
ImportError: bad magic number in ‘turtle’: b’x03xf3rn’
This works fine on a standard Raspbian image. I checked and I couldn’t see any difference. I deleted the turtle.pyc file in the case of the 3.42 error, and rebuilt the ltsp image, but still no luck.
Would appreciate 10mins of your time to investigate, otherwise it’s Wheezy roll back time for Saturday’s class.
cheers
Craig
Проблема в том, что вы назвали свою программу «turtle.py».
Поэтому, когда Python видит утверждение
from turtle import *
первый соответствующий модуль с именемturtle, который он находит, — это ваша программа, «turtle.py».Другими словами, ваша программа в основном импортирует себя и не графический модуль черепахи.
Вот некоторый код, чтобы продемонстрировать эту проблему.
Turtle.py
#! /usr/bin/env python ''' Mock Turtle Demonstrate what happens when you give your program the same name as a module you want to import. See http://stackoverflow.com/q/32180949/4014959 Written by PM 2Ring 2015.08.24 ''' import turtle foo = 42 print(turtle.foo) help(turtle)
Я думаю, что должен показать что этот код на самом деле печатает…
При запуске от имени
turtle.pyвыводится следующая справка:Help on module turtle: NAME turtle - Mock Turtle FILE /mnt/sda4/PM2Ring/Documents/python/turtle.py DESCRIPTION Demonstrate what happens when you give your program the same name as a module you want to import. See http://stackoverflow.com/q/32180949/4014959 Written by PM 2Ring 2015.08.24 DATA foo = 42 (END)Когда вы нажмете
Q, чтобы выйти из справки, информация о справке отобразится снова. Когда вы нажметеQво второй раз, то42 42Печатается.
Почему сообщение» help » и 42 напечатаны дважды? Это потому, что весь код в
turtle.pyвыполняется при его импорте, а затем снова, когда он встречается с после оператораimport. Обратите внимание, что Python не пытается импортировать модули, которые он уже импортировал (если только явно не сказано сделать это с помощьюreload). Если Python сделал повторный импорт, то приведенный выше код застрял бы в бесконечном цикле импорта.
При запуске как
mockturtle.pyвыводится:Traceback (most recent call last): File "./mock_turtle.py", line 16, in <module> print(turtle.foo) AttributeError: 'module' object has no attribute 'foo'И, конечно, это потому, что стандартный модуль
turtleна самом деле не имеет атрибутаfoo.
Строго шла по книге.
Сообщение было отмечено MariaO как решение