Установщики MSI, загружаемые с python.org, не включают файлы Tcl/Tk header (не исходные) (которые необходимы для компиляции некоторых пакетов, таких как matplotlib). Кто-нибудь знает, почему их не включили?
Почему установщики Python MSI не поставляются с заголовочными файлами Tcl/Tk?
Ответы (2)
Установщики Windows не включают НИКАКИХ исходных файлов. Просто потому, что так работают приложения Windows. Его можно скомпилировать на одном компьютере и он будет работать на всех. Таким образом, версии таких вещей, как python и php для Windows, предварительно скомпилированы со всеми включенными параметрами.
Если вам нужны исходные файлы, вам нужно загрузить исходный архив или что-то в этом роде.
C:\Python26\include -- таким образом, мой вопрос касается не включения файлов заголовков разработчиков Tcl/tk, а не исходных файлов.
- person Sridhar Ratnakumar; 22.01.2010
Пользователям, даже в системах Unix, на самом деле не нужны заголовки Tcl/Tk, чтобы просто использовать интерпретатор Python.
Если вы захотите встроить интерпретатор в другое приложение, вам понадобятся только заголовочные файлы Python и файлы lib (которые включены в программу установки). Модуль tkinter, который связан с Tcl/Tk, уже скомпилирован для вас в бинарном дистрибутиве, поэтому ваши скрипты Python могут просто использовать Tcl/Tk через tkinter... хотя вам, вероятно, не следует этого делать во встроенном сценарии. Причина в том, что ваше приложение может предоставлять свои функции пользовательского интерфейса Python через Python/C API, и тогда у вас не будет странного разрыва (визуально и программно) между окнами хост-приложения и окнами исходного кода Python.
Короче говоря, единственная реальная причина, по которой я вижу необходимость в заголовках Tcl и Tk, заключается в том, что вы пытаетесь собрать модуль tkinter из исходного кода, что почти никто не делает в Windows, поэтому они оставляют их для экономии места.