Je voudrais écrire un module Cython qui n'est destiné qu'à être utilisé par d'autres modules Cython. Donc, il ne contiendra que cdef (pas de def ou cpdef). J'ai regardé et regardé, et trouvé des sujets similaires, mais pas exactement celui-ci. Quelqu'un pourrait-il donner un bref exemple? Merci beaucoup!Comment faire pour qu'un module Cython soit uniquement destiné à être importé par d'autres modules Cython
0
A
Répondre
1
Pour cimport
un module, vous avez besoin d'un .pxd
file. Là, seules les déclarations de niveau cdef
peuvent être présentes.
Pour l'importation réussie du module, le fichier .pxd
doit être trouvé dans le chemin Python car un .py
serait pour un module Python.
Pour distribuer le module, le fichier .pxd
doit être inclus dans l'argument package_data
de setup.py.
Il n'est pas facile de trouver de bonnes ressources à ce sujet sur Internet et peu de projets fournissent des fichiers pxd. Cython lui-même regroupe un certain nombre d'entre eux et ceux-ci sont bien sûr importables sans paramètres spécifiques (libc et numpy sont là, par exemple).
Merci. Pourriez-vous m'aider avec un petit exemple? – TJB
Oui, j'ai un code cython avec des déclarations pxd installables ici: https://github.com/pdebuyl/threefry –