Я думаю, что ваш вопрос возникает из-за попытки проработать Программирование на Python Джоном Зелле с Macintosh.
Первые 4 главы великолепны. Но в главе 5, где я склонен застрять, он представляет Объекты. То, как он это делает, довольно интересно. Он создал модуль Python, который он называет «graphics.py», который вы можете скачать с его сайта.
Этот модуль (я прикрепил ссылку на него ниже) представляет собой программу на python, написанную г-ном Зелле. Он создает инструменты для создания очень простых фигур и привыкания к основным понятиям с помощью графики, а также служит более осязаемым способом представления объектов.
Однако я был смущен, мне потребовалось некоторое время, чтобы понять, что «graphics.py» была педагогической программой, созданной г-ном Зелле, а не той, которая поставляется в комплекте с MacPython. Эта путаница проистекает из того факта, что все программы в главе 5 начинаются с «импортировать графику», которая очень похожа на команду «import math» в начале каждой программы в 3-й главе.
Ключевым отличием является то, что «import math» импортирует стандартную математическую библиотеку, поставляемую в комплекте с MacPython. Но «импортировать графику» относится к собственному модулю Джона Зелле «graphics.py», который необходимо сначала загрузить и установить.
Мне потребовалось некоторое время, чтобы понять это ...
Затем, как только я это сделал, я зашел на его сайт, скопировал программу с этого сайта:
http://mcsp.wartburg.edu/zelle/python/graphics.py
... в IDLE и затем сохранил его как graphics.py
Вот где это сводило с ума ...
В Windows, если вы просто поместите файл graphics.py в ту же папку, что и Python, он сможет найти файл и использовать его без проблем.
Вот то, что сказано в книге, что заставило меня чувствовать себя таким сумасшедшим:
«Чтобы использовать графический модуль (graphics.py), вам нужно разместить этот файл там, где его может найти Python. > Один простой подход - поместить его в ту же папку, где хранятся ваши программы на Python. Запуск> Python в этой папке также позволит вам импортировать графическую библиотеку для интерактивного эксперимента.
Кроме того, вы можете поместить файл graphics.py в общесистемный каталог, чтобы он был> доступен для импорта независимо от того, в каком каталоге запускается Python. Стандартным каталогом для размещения> локальных дополнений в Python является каталог site-packages. В моей установке Windows полный> путь к папке:
C: \ Python23 \ Lib \ сайт-пакеты
В моей системе Linux файл находится в:
/ USR / местные / бен / Библиотека / python2.3 / сайт-пакеты. "
В операционной системе Windows все, что вам нужно сделать, это зайти на Python.org и скачать Python для Windows и поместить этот файл graphics.py в основную папку, и бум, вы великолепны, НЕ ТАК ДЛЯ МАКИНТОША! !!!
2 года назад именно здесь я полностью застрял, потому что понятия не имел о путях сайта или каталогах; Я просто указал и щелкнул; Я не знал о системе Unix под Macintosh Aqua GUI.
А в книге нет инструкций о том, что делать, если у вас есть Macintosh, и я врезался в стену.
Но когда я повторил это несколько недель назад, эти каталоги стали для меня более понятными, потому что я провел весну и лето, играя с руководством по использованию командной оболочки UNIX на моем Mac.
Так что я понял, что моя проблема не имеет ничего общего с Tkinter, просто то, что graphics.py должен быть в правильном каталоге. Я не мог просто положить его в папку рядом с IDLE, как на компьютере с Windows. Мне нужно было найти правильный каталог.
Поскольку OSX построен на базе UNIX, я подумал, что путь к файлу может совпадать с Linux. К сожалению, после каталога «user» не было «local», «bin». Но это не совсем то же самое в OSX.
Вместо этого вы можете использовать саму IDLE, чтобы узнать, какие каталоги путей он использует.
Вы вводите это:
import sys
print sys.path
и БУМ, он выплевывает целую кучу каталогов, запутанно отформатированных как это
['', '/ Users / jamesbarnard / Documents', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip ',' /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 ',' /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin ','/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages ',' /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk ',' /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old ',' /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload ',' /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages ',' /Library/Python/2.7/site-packages']
Но когда я посмотрел поближе, я заметил каталог « site-packages », который выглядел очень похоже на « сайт-Packages ”в командной строке Linux и Windows.Поэтому я вытащил эту цепочку каталогов
['', '/ Users / jamesbarnard / Documents', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/ Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 ',' /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin ',' / Library / Frameworks / Python.framework / Versions / 2.7 / lib / python2.7 / plat-mac ',' /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages ',' / Библиотека/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk ',' /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old ',' / Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload ', ' / Library / Frameworks / Python.framework / Versions / 2.7 / lib / python2.7 / site-packages ', '/Library/Python/2.7/site-packages']
Затем, используя оболочку UNIX, я последовал за ней, а затем сделал то же самое в интерфейсе Aqua.
И там, похоронен 8 уровней вниз по прямойПоэтому, среди сотен других файлов, я поместил свой файл graphics.py.
Затем я вернулся в режим ожидания, набрав «import graphics»
И ЭТО РАБОТАЛО !!
Если у вас возникла эта проблема.Я надеюсь, что это решение избавит вас от головной боли.