J'ai un répertoire qui ressemble à ceci:Extensions de script d'installation Python, comment incluez-vous un fichier .h?
home\
setup.py
some_python_file.py
ext\
__init__.py
c_file1.c
c_file2.c
ext_header.h
Il est évident que le fichier d'en-tête est nécessaire pour compiler les fichiers c, mais le problème est que je ne peux pas obtenir le script d'installation pour inclure la En tête de fichier.
Mon objet d'extension est quelque chose comme ceci:
Extension('ext.the_extension', ['ext/c_file1.c', 'ext/c_file2.c'])
Ce qui fonctionne, mais ne comprend pas le fichier d'en-tête. Si je change à:
Extension('ext.the_extension', ['ext/c_file1.c', 'ext/c_file2.c', 'ext_header.h'])
Il comprend le fichier « .h » mais ne construit pas quand je lance l'installation. Au contraire, il donne et erreur error: unknown file type '.h' (from 'ext/ext_header.h')
Si je le fichier d'en-tête sous forme de fichier de données comme ceci:
data_files=[('ext', ['ext/ext_header.h'])]
il ne fonctionne pas du tout, le fichier .h ne fait même pas dans la Fichier MANIFEST.
Donc, ma question est, comment incluez-vous cette extension avec le fichier d'en-tête de sorte que python setup.py install
va le construire correctement?
si vous avez plusieurs fichiers d'en-tête « comprennent ext/*. H » aurait fonctionné aussi bien. Veuillez marquer ceci (oui votre propre réponse) comme la solution. – Anthon