2010-01-22 11 views
0

Les programmes d'installation MSI téléchargeables à partir de python.org n'incluent pas les fichiers Tcl/Tk en-tête (non source) (qui sont requis pour compiler certains paquets comme matplotlib). Est-ce que quelqu'un sait la raison derrière ne pas les inclure?Pourquoi les programmes d'installation Python MSI ne sont-ils pas fournis avec les fichiers d'en-tête Tcl/Tk?

+0

sont-ils ici? http://python.org/ftp/python/2.6.4/Python-2.6.4.tgz –

+0

@Corey: La question concerne ** les installateurs Windows MSI **, pas les distributions sources. –

Répondre

1

Les programmes d'installation Windows n'incluent AUCUN fichier source. Tout simplement parce que c'est ainsi que fonctionnent les applications Windows. Il peut être compilé sur un ordinateur et fonctionnera sur tous. Ainsi, les versions de Windows de choses comme python et php sont précompilées avec toutes les options activées.

Si vous voulez les fichiers sources, vous devez télécharger une archive tar source ou quelque chose.

+0

J'ai demandé des fichiers ** en-tête ** (.h), pas des fichiers source. Les programmes d'installation MSI de Python.org incluent des fichiers ** en-tête ** (.h) pour Python lui-même. Jetez un oeil à 'C: \ Python26 \ include' - ainsi, ma question est de ne pas inclure les fichiers Tcl/tk developer ** header **, pas les fichiers source. –

+0

Les fichiers d'en-tête * sont * des fichiers sources, Sridhar. La surprise n'est pas que l'installateur de Windows n'inclue pas les fichiers d'en-tête pour Tcl/Tk, la surprise est qu'il inclut tous les fichiers d'en-tête. Il semble que le responsable du paquet pensait que les fichiers d'en-tête pour le noyau Python seraient utiles pour les utilisateurs du paquet binaire Windows. - Si vous voulez compiler un logiciel avec Python, vous devez télécharger la distribution source. –

+0

les fichiers d'en-tête python sont nécessaires pour créer des modules c, les en-têtes tcl/tk ne le sont pas. –

0

Les utilisateurs, même sur les systèmes Unix, n'ont pas vraiment besoin des en-têtes Tcl/Tk pour utiliser simplement l'interpréteur Python.

Si vous vouliez intégrer l'interpréteur dans une autre application, vous n'avez besoin que des en-têtes python et des fichiers lib (qui sont inclus dans le programme d'installation). Le module tkinter, qui est ce qui est lié à Tcl/Tk, est déjà compilé pour vous dans la distribution binaire, donc vos scripts Python peuvent simplement utiliser Tcl/Tk via tkinter ... mais vous ne devriez probablement pas le faire dans un scénario embarqué. La raison en est, votre application peut exposer ses fonctionnalités de l'interface utilisateur à Python via le Python/C API, puis vous n'avez pas une déconnexion bizarre (visuellement et par programme) entre les fenêtres de l'application hôte et les fenêtres Python-source. En bref, la seule vraie raison que je vois pour avoir besoin des en-têtes Tcl & Tcl serait si vous essayiez de construire le module tkinter à partir de la source, ce que pratiquement personne ne fait sous Windows, alors ils les ignorent pour économiser de l'espace.