Impossible de charger les librairies classiques Python lors de l'éxécution via Cython
Bonjour à tous ,
J'ai développe un petit code de text-mining afin qu'il soit utilisable pour des personnes tierces à partir de maintenant. Mon objectif premier maintenant, est de cacher le code python pour que la personne l'utilisant n'est pas la possibilité de le voir, et donc de le copier/modifier à sa guise, il s'agit donc de protéger mon code.
On m'a conseillé d'utiliser Cython qui permet de compiler du Python via C (ou C++) avec des fichiers ".c". Après avoir suivi quelques tutoriels, cela n'a pas fonctionné. J'ai donc repris un code ultra basique qui met en avant mon soucis concernant les librairies python, voici mon code et la procédure que j'ai suivi :
hello.py
Code:
1 2 3
| print("hello world")
import numpy as np
print(np.array([1,2,3]) |
lignes de commandes :
Code:
cython3 --embed -o hello.c hello.py
Code:
gcc -o hello -fPIC -I /usr/include/python3.6m hello.c -lpython3.6m
Ces lignes m'ont donc généré un fichier .c et un fichier "hello" que j'éxécute en bash de manière classique. Mon erreur est la suivante :
Lorsque j'éxécute le code on me retourne le message qui dit que la librairie numpy n'existe pas , exactement comme dans python lorsque ce n'est pas chargé ...
Mais si j'enlève la partie numpy cela marche tout à fait.
Ma question est alors : comment faire comprendre (ou importer) les librairie de python classiques (numpy pandas sklearn) à Cython pour que lors de l'éxécution du fichier final cela marche ?
PS : je suis très très débutant en C.
PS2 : il s'agit de mon premier post si le sujet n'est pas à la bonne place veuillez m'en excuser !
Merci à vous !