2010-01-22 2 views
0

Установщики MSI, загружаемые с сайта python.org, не включают файлы Tcl/Tk (не исходные) файлы (которые необходимы для компиляции некоторых пакетов, таких как matplotlib). Кто-нибудь знает о причинах, по которым они не включены?Почему установщики MSI Python не имеют файлы заголовков Tcl/Tk?

+0

Они здесь? http://python.org/ftp/python/2.6.4/Python-2.6.4.tgz –

+0

@Corey: Вопрос о установщиках Windows MSI **, а не в источниках. –

ответ

1

Установщики Windows не включают в себя любые исходные файлы. Просто потому, что именно так работают приложения Windows. Он может быть скомпилирован на одном компьютере, и он будет работать на всех. Таким образом, версии Windows, такие как python и php, скомпилированы с включенными опциями.

Если вы хотите, чтобы исходные файлы загружали исходный архив или что-то в этом роде.

+0

Я спросил о ** header ** файлах (.h), а не в исходных файлах. Установщики MSI Python.org содержат ** header ** файлы (.h) для самого Python. Взгляните на 'C: \ Python26 \ include' - таким образом, мой вопрос состоит в том, чтобы не включать файлы заголовка Tcl/tk developer **, а не исходные файлы. –

+0

Файлы заголовка * являются * исходными файлами, Sridhar. Удивительно, что установщик Windows не включает файлы заголовков для Tcl/Tk, удивление заключается в том, что он включает в себя любые файлы заголовков вообще. Похоже, что сторонник пакета думал, что файлы заголовков для основного Python будут полезны для пользователей двоичных пакетов Windows. - Если вы хотите скомпилировать ПО с Python, вы должны загрузить дистрибутив источника. –

+0

файлы заголовков python необходимы для создания c-модулей, заголовков tcl/tk нет. –

0

Пользователи, даже в системах Unix, не нуждаются в заголовках Tcl/Tk, чтобы просто использовать интерпретатор Python.

Если вам нужно было встроить интерпретатор в другое приложение, вам понадобятся только заголовки python и файлы lib (которые включены в программу установки). Модуль tkinter, который связан с Tcl/Tk, уже скомпилирован для вас в двоичном дистрибутиве, поэтому ваши скрипты Python могут использовать Tcl/Tk через tkinter ... хотя вы, вероятно, не должны во встроенном сценарии. Причина в том, что ваше приложение может выставлять свои функции пользовательского интерфейса на Python через Python/C API, а затем у вас нет странного отключения (визуально и программно) между окнами хост-приложения и окнами Python-source.

Короткий рассказ, единственная реальная причина, по которой я могу видеть, что для заголовков Tcl & Tk были бы, если бы вы пытались построить модуль tkinter из источника, чего практически никто не делает в Windows, поэтому они оставляют их вне для экономии места.