Перейти к содержимому

Как установить модуль turtle в python 3

  • автор:

Графический модуль turtle в Python

Популярный способ познакомить детей с программированием

Графический модуль turtle — популярный способ познакомить детей с программированием. Он был частью оригинального языка программирования Logo.

Представьте роботизированную черепаху, начинающуюся с точки (0, 0) в плоскости x/y. После импорта модуля turtle дайте ей команду turtle.forward(15) , и она переместится (на экране!) на 15 пикселей в направлении, в котором смотрит, рисуя линию при движении. Дайте ей команду turtle.right(25) , и она повернется на месте на 25 градусов по часовой стрелке.

Комбинируя вместе эти и подобные команды, можно легко рисовать замысловатые формы и изображения.

Содержание:

  • Общие сведения и подходы работы с модулем turtle ;
    • Пример: звезда «Turtle«;

    Общие сведения и подходы работы с модулем.

    Модуль turtle — это расширенная реализация одноименного модуля из стандартного дистрибутива Python до версии Python 2.5.

    Он сохраняет достоинства старого модуля turtle и почти на 100% совместим с ним. Это означает, чтобы дать возможность обучающемуся программисту использовать все команды, классы и методы в интерактивном режиме при использовании модуля из IDLE, запущенного с ключом -n .

    Модуль turtle предоставляет графические примитивы черепахи как объектно-ориентированным, так и процедурно-ориентированным способами. Так как turtle для базовой графики использует tkinter , то необходима версия Python3, установленная с поддержкой Tk .

    Объектно-ориентированный интерфейс использует по существу два + два класса:

    1. Класс TurtleScreen определяет графические окна как площадку для рисования. Его конструктору требуется аргумент tkinter.Canvas или ScrolledCanvas . Его следует использовать, когда черепаха используется как часть какого-либо приложения. Функция Screen() возвращает одноэлементный объект подкласса TurtleScreen . Эту функцию следует использовать, когда черепаха используется как автономный инструмент для создания графики. Как одноэлементный объект, наследование от его класса невозможно. Все методы TurtleScreen / Screen также существуют как функции, то есть как часть процедурно-ориентированного интерфейса.
    2. RawTurtle определяет объекты Turtle , которые рисуются на TurtleScreen . Его конструктору требуется аргумент Canvas , ScrolledCanvas или TurtleScreen , чтобы объекты RawTurtle знали, где рисовать. Производным от RawTurtle является подкласс Turtle , который использует экземпляр Screen , который создается автоматически, если еще не присутствует. Все методы RawTurtle / Turtle также существуют как функции, то есть как часть процедурно-ориентированного интерфейса.

    Процедурный интерфейс предоставляет функции, производные от методов классов Screen и Turtle . Названия у них такие же, как у соответствующих методов. Объект экрана screen всегда создается автоматически, когда вызывается функция, производная от метода Screen . Безымянный объект turtle всегда создается автоматически, когда вызывается какая-либо из функций, производных от метода Turtle .

    Чтобы использовать несколько черепах на экране, необходимо использовать объектно-ориентированный интерфейс.

    Пример простого рисунка с модулем turtle .

    from turtle import * color('red', 'yellow') begin_fill() while True: forward(200) left(170) if abs(pos())  1: break end_fill() done() 

    Файл конфигурации модуля turtle .

    Встроенная конфигурация по умолчанию имитирует внешний вид и поведение старого модуля turtle , чтобы сохранить максимально возможную совместимость с ним.

    Если необходимо использовать другую конфигурацию, которая лучше отражает функции этого модуля или лучше соответствует вашим потребностям, например для использования с классами, то можно подготовить файл конфигурации turtle.cfg , который будет прочитан во время импорта и изменить конфигурацию в соответствии с его настройками.

    Встроенная конфигурация будет соответствовать следующему файлу turtle.cfg :

    width = 0.5 height = 0.75 leftright = None topbottom = None canvwidth = 400 canvheight = 300 mode = standard colormode = 1.0 delay = 10 undobuffersize = 1000 shape = classic pencolor = black fillcolor = black resizemode = noresize visible = True language = english exampleturtle = turtle examplescreen = screen title = Python Turtle Graphics using_IDLE = False 

    Краткое объяснение записей конфигурации:

    • Первые четыре строки соответствуют аргументам метода Screen.setup() .
    • Строки 5 и 6 соответствуют аргументам метода Screen.screensize() .
    • Форма пера может быть любой из встроенных фигур, например, стрелка, черепаха и т. д. Для получения дополнительной информации попробуйте help(shape) .
    • Если не хотите использовать цвет заливки (т.е. сделать черепаху прозрачной), то необходимо написать fillcolor = » (при этом, в cfg-файле непустые строки не должны иметь кавычек).
    • Если необходимо отразить состояние модуля turtle , то необходимо использовать resizemode = auto .
    • Записи exampleturtle и examplescreen определяют имена этих объектов в том виде, в котором они встречаются в строках документации. Преобразование строк документации методов в строки документации функций удалит эти имена из строк документации.
    • using_IDLE : Установите значение True , если регулярно работаете с IDLE и его переключателем -n . Это предотвратит переход turtle.exitonclick() в основной цикл.

    В каталоге, где хранится модуль, может быть файл turtle.cfg , а в текущем рабочем каталоге может быть еще один файл, созданный пользователем. Последний переопределит настройки первого.

    Пакет с примерами turtledemo .

    Пакет turtledemo включает набор демонстрационных скриптов. Эти сценарии можно запускать и просматривать с помощью прилагаемой демонстрационной программы следующим образом:

    python -m turtledemo

    Кроме того, можно запускать демонстрационные скрипты индивидуально. Например,

    python -m turtledemo.bytedesign

    Каталог пакета turtledemo содержит:

    • Программу-просмотрщик __main__.py , которую можно использовать для просмотра исходного кода скриптов и их одновременного запуска.
    • Несколько скриптов, демонстрирующих различные функции модуля turtle . Доступ к примерам можно получить через меню «Examples«. Их также можно запускать автономно.
    • Файл turtle.cfg , который служит примером того, как писать и использовать такие файлы.

    ПРИМЕЧАНИЕ: Если запуск в терминале команды python -m turtledemo выдает /usr/bin/python : No module named turtledemo, то необходимо установить файлы примеров установленной версии Python. Например для Linux:

    sudo apt install python3-examples idle3

    И все заработает.

    Установка поддержки Tk для Python3 (Tkinter) в Linux/X11.

    Запустите оболочку Python (например, /usr/bin/python3 ) и проверьте импорт модуля turtle (например from turtle import * ). Если при попытке импортировать turtle выводится сообщение об ошибке «ModuleNotFoundError: No module named ‘tkinter’«, то в большинстве случаев сообщение говорит о том, что нужно установить поддержку Tcl/Tk.

    В основном дистрибутивы Linux выделяют поддержку Tkinter в отдельный пакет. Это избавляет от установки библиотек Tcl / Tk для людей, которые используют Python, но не используют Tkinter . Проще говоря, необходимо установить пакет с именем python3-tk , который и обеспечит установку и поддержку в системе соответствующих версий библиотек Tcl / Tk .

    $ sudo apt install python3-tk

    В данном случае этот пакет предоставляет библиотеки Tcl / Tk для использования с Python3.

    • КРАТКИЙ ОБЗОР МАТЕРИАЛА.
    • Рисование/передвижение пера по холсту, модуль turtle
    • Поднять/опустить перо при движении в модуле turtle Python
    • Скрыть/показать перо на холсте в модуле turtle Python
    • Толщина пера и его форма, модуль turtle
    • Цвет пера/карандаша и цвет заливки в модуле turtle Python
    • Смена позиции пера на холсте в модуле turtle Python
    • Сведения о позиции пера на холсте в модуле turtle
    • Круг, многоугольник, точка в модуле turtle Python
    • Копия формы пера, модуль turtle Python
    • Очистка рисунка активного пера в модуле turtle Python
    • Функция write() модуля turtle, вывод текста на холсте
    • События мыши для пера в модуле turtle
    • События клавиатуры и мыши для холста в модуле turtle Python
    • Вызвать диалоговое окно в модуле turtle
    • Управление холстом/экраном в модуля turtle
    • Управление анимацией пера в модуля turtle Python
    • Специальные методы пера модуля turtle
    • Настройки и специальные методы холста модуля turtle

    Как установить модуль пакета Turtle? [закрыт]

    Закрыт. Этот вопрос необходимо уточнить или дополнить подробностями. Ответы на него в данный момент не принимаются.

    Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.

    Закрыт 3 года назад .
    Подскажите, пожалуйста, как я могу установить модуль пакета Turtle?
    Отслеживать
    13.8k 12 12 золотых знаков 43 43 серебряных знака 76 76 бронзовых знаков
    задан 8 дек 2020 в 19:50
    35 1 1 серебряный знак 5 5 бронзовых знаков

    1 ответ 1

    Сортировка: Сброс на вариант по умолчанию

    Turtle — это встроенная библиотека. Вам достаточно для работы с ним импортировать её:

    import turtle 

    Отслеживать
    ответ дан 9 дек 2020 в 7:08
    171 5 5 бронзовых знаков

    Может быть и стандартная, только вот она работает на базе tkinter, а tkinter может оказаться не установлен (например, сняли одну галочку при установке Python на Windows), и при импорте будет вылетать ошибка ModuleNotFoundError: No module named ‘tkinter’ . Нужно уточнять подробности вопроса.

    9 дек 2020 в 7:22

    @insolor вполне возможно, что tkinter не установлен. Спасибо за замечание, в следующий раз буду уточнять.

    9 дек 2020 в 7:27

    @insolor Ага. На Убунте вообще ткинтера нет в встроенном питоне — надо sudo apt install python3-tkinter 😉

    Описание модуля Turtle

    Стандартная библиотека Python содержит модуль turtle , предназначенный для обучения программированию. Этот модуль содержит набор функций, позволяющих управлять черепахой. Черепаха умеет выполнять небольшой набор команд, а именно:

    Команда Значение
    forward(X) Пройти вперёд X пикселей
    backward(X) Пройти назад X пикселей
    left(X) Повернуться налево на X градусов
    right(X) Повернуться направо на X градусов
    penup() Не оставлять след при движении
    pendown() Оставлять след при движении
    shape(X) Изменить значок черепахи (“arrow”, “turtle”, “circle”, “square”, “triangle”, “classic”)
    stamp() Нарисовать копию черепахи в текущем месте
    color() Установить цвет
    begin_fill() Необходимо вызвать перед рисованием фигуры, которую надо закрасить
    end_fill() Вызвать после окончания рисования фигуры
    width() Установить толщину линии
    goto(x, y) Переместить черепашку в точку (x, y)

    Почему не устанавливается модуль turtle?

    пытаюсь скачать модуль turtle через pip. Пишу: pip install turtle. Выдает такую вот психоделическую дичь:
    Collecting turtle
    Using cached turtle-0.0.2.tar.gz (11 kB)
    ERROR: Command errored out with exit status 1:
    command: ‘d:\users\моргенштерн\appdata\local\programs\python\python39\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘»‘»‘D:\\Users\\Моргенштерн\\AppData\\Local\\Temp\\pip-install-xxm4e8b9\\turtle_b4a34253d5e146bb8a66d52189e73f1e\\setup.py'»‘»‘; __file__='»‘»‘D:\\Users\\Моргенштерн\\AppData\\Local\\Temp\\pip-install-xxm4e8b9\\turtle_b4a34253d5e146bb8a66d52189e73f1e\\setup.py'»‘»‘;f = getattr(tokenize, ‘»‘»‘open'»‘»‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘»‘»‘from setuptools import setup; setup()'»‘»‘);code = f.read().replace(‘»‘»‘\r\n'»‘»‘, ‘»‘»‘\n'»‘»‘);f.close();exec(compile(code, __file__, ‘»‘»‘exec'»‘»‘))’ egg_info —egg-base ‘D:\Users\Моргенштерн\AppData\Local\Temp\pip-pip-egg-info-bexothid’
    cwd: D:\Users\Моргенштерн\AppData\Local\Temp\pip-install-xxm4e8b9\turtle_b4a34253d5e146bb8a66d52189e73f1e\
    Complete output (6 lines):
    Traceback (most recent call last):
    File «», line 1, in
    File «D:\Users\Моргенштерн\AppData\Local\Temp\pip-install-xxm4e8b9\turtle_b4a34253d5e146bb8a66d52189e73f1e\setup.py», line 40
    except ValueError, ve:
    ^
    SyntaxError: invalid syntax
    —————————————-
    WARNING: Discarding https://files.pythonhosted.org/packages/ff/f0/21a4. (from https://pypi.org/simple/turtle/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
    Using cached turtle-0.0.1.tar.gz (10 kB)
    Requirement already satisfied: PyYAML>=3.08 in d:\users\моргенштерн\appdata\local\programs\python\python39\lib\site-packages (from turtle) (5.4.1)
    Using legacy ‘setup.py install’ for turtle, since package ‘wheel’ is not installed.
    Installing collected packages: turtle
    Running setup.py install for turtle . error
    ERROR: Command errored out with exit status 1:
    command: ‘d:\users\моргенштерн\appdata\local\programs\python\python39\python.exe’ -u -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘»‘»‘D:\\Users\\Моргенштерн\\AppData\\Local\\Temp\\pip-install-xxm4e8b9\\turtle_8d6401ce1f594f48b2e5149b178cfef8\\setup.py'»‘»‘; __file__='»‘»‘D:\\Users\\Моргенштерн\\AppData\\Local\\Temp\\pip-install-xxm4e8b9\\turtle_8d6401ce1f594f48b2e5149b178cfef8\\setup.py'»‘»‘;f = getattr(tokenize, ‘»‘»‘open'»‘»‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘»‘»‘from setuptools import setup; setup()'»‘»‘);code = f.read().replace(‘»‘»‘\r\n'»‘»‘, ‘»‘»‘\n'»‘»‘);f.close();exec(compile(code, __file__, ‘»‘»‘exec'»‘»‘))’ install —record ‘D:\Users\Моргенштерн\AppData\Local\Temp\pip-record-yvhaijtc\install-record.txt’ —single-version-externally-managed —compile —install-headers ‘d:\users\моргенштерн\appdata\local\programs\python\python39\Include\turtle’
    cwd: D:\Users\Моргенштерн\AppData\Local\Temp\pip-install-xxm4e8b9\turtle_8d6401ce1f594f48b2e5149b178cfef8\
    Complete output (26 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib
    creating build\lib\turtle
    copying turtle\config.py -> build\lib\turtle
    copying turtle\engine.py -> build\lib\turtle
    copying turtle\proxy.py -> build\lib\turtle
    copying turtle\service.py -> build\lib\turtle
    copying turtle\__init__.py -> build\lib\turtle
    creating build\lib\turtle\test
    copying turtle\test\test_engine.py -> build\lib\turtle\test
    copying turtle\test\test_proxy.py -> build\lib\turtle\test
    copying turtle\test\__init__.py -> build\lib\turtle\test
    running install_lib
    byte-compiling d:\users\моргенштерн\appdata\local\programs\python\python39\Lib\site-packages\turtle\service.py to service.cpython-39.pyc
    File «d:\users\моргенштерн\appdata\local\programs\python\python39\Lib\site-packages\turtle\service.py», line 85
    print traceback.format_exc()
    ^
    SyntaxError: invalid syntax

    writing byte-compilation script ‘D:\Users\F737~1\AppData\Local\Temp\tmp6o8ehxk6.py’
    d:\users\моргенштерн\appdata\local\programs\python\python39\python.exe D:\Users\F737~1\AppData\Local\Temp\tmp6o8ehxk6.py
    SyntaxError: Non-UTF-8 code starting with ‘\xec’ in file D:\Users\F737~1\AppData\Local\Temp\tmp6o8ehxk6.py on line 3, but no encoding declared; see python.org/dev/peps/pep-0263 for details
    error: command ‘d:\\users\\моргенштерн\\appdata\\local\\programs\\python\\python39\\python.exe’ failed with exit code 1
    —————————————-
    ERROR: Command errored out with exit status 1: ‘d:\users\моргенштерн\appdata\local\programs\python\python39\python.exe’ -u -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘»‘»‘D:\\Users\\Моргенштерн\\AppData\\Local\\Temp\\pip-install-xxm4e8b9\\turtle_8d6401ce1f594f48b2e5149b178cfef8\\setup.py'»‘»‘; __file__='»‘»‘D:\\Users\\Моргенштерн\\AppData\\Local\\Temp\\pip-install-xxm4e8b9\\turtle_8d6401ce1f594f48b2e5149b178cfef8\\setup.py'»‘»‘;f = getattr(tokenize, ‘»‘»‘open'»‘»‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘»‘»‘from setuptools import setup; setup()'»‘»‘);code = f.read().replace(‘»‘»‘\r\n'»‘»‘, ‘»‘»‘\n'»‘»‘);f.close();exec(compile(code, __file__, ‘»‘»‘exec'»‘»‘))’ install —record ‘D:\Users\Моргенштерн\AppData\Local\Temp\pip-record-yvhaijtc\install-record.txt’ —single-version-externally-managed —compile —install-headers ‘d:\users\моргенштерн\appdata\local\programs\python\python39\Include\turtle’ Check the logs for full command output.

    • Вопрос задан более двух лет назад
    • 656 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *