Qu'est-ce que pyximport et comment l'utiliser?
Je suis à l'aide de cython pour générer plus rapidement le code d'un modèle mathématique.
Je vais avoir un moment difficile de compiler le code, mais de toute façon, j'ai réussi à le faire à l'aide d'un .chauve-souris:
setlocal EnableDelayedExpansion
CALL "C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\SetEnv.cmd" /x64 /release
set DISTUTILS_USE_SDK=1
C:\Python27\python.exe C:\gcsilve\trunk\myproject\myproject\cythonsetup.py build_ext --inplace
PAUSE
Il fonctionne ok...
Ma question est concernant pyximport. J'ai des vieux code écrit par quelqu'un d'autre qui utilise pyximport.(installer). Je ne pouvais pas comprendre ce qu'il fait et pourquoi je devrais l'utiliser, car je suis déjà en compilant le code par moi-même. Donc, quelqu'un peut m'expliquer dans un très simple (pour les nuls) de manière à ce que pyximport?
Des informations supplémentaires:
J'ai un projet1, à l'aide de cython.
J'ai un project2, références projet1.
source d'informationauteur guilhermecgs
Vous devez vous connecter pour publier un commentaire.
pyximport fait partie de Cython, et il est utilisé à la place de
import
.Si votre module ne nécessite aucun supplément de bibliothèques C ou d'une compilation spéciale de l'installation, vous pouvez utiliser le pyximport module à charger .custode fichiers directement sur l'importation, sans avoir à écrire une setup.py fichier. Il peut être utilisé comme ceci:
Directement à partir de la Cython documentation
Vous pouvez utiliser
pyximport
automatiquement recompiler et de recharger votre.pyx
module.Supprimer ce
setup.py
a généré, sinon vous risquez de charger ce module d'extension.pyximport
ne pas utilisersetup.py
.Supposons un
hello.pyx
avec une fonctionmean2
.Commencer IPython.
In [1]: import pyximport
In [2]: pyximport.install(reload_support=True)
In [3]: from importlib import reload
In [4]: import hello
In [5]: hello.mean2(2,3)
Le résultat:
Out [5]: 2.5
Quitter cette fenêtre et aller dans votre éditeur de texte pour modifier
hello.pyx
.Puis revenir à IPython et le type
In [6]: reload(hello);import hello;hello.mean2(2,3)
Vous verrez un texte informant sur la recompilation.
Puis le nouveau résultat:
Out[6]: 'Mean of 2 and 3 is 2.5'