What is pyximport and how should I use it?

cython, pydev, python, python-2.7

Solution

pyximport is part of Cython, and it's used in place of `import` in a way.

If your module doesn’t require any extra C libraries or a special build setup, then you can use the pyximport module to load .pyx files directly on import, without having to write a setup.py file. It can be used like this:

>>> import pyximport; pyximport.install()
>>> import helloworld
Hello World

Straight from the Cython documentation

Problem

I am using cython to generate faster code for a mathematical model. I am having a hard time compiling the code, but somehow I managed to do so using a .bat: ``` 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 ``` It runs ok... My question is regarding pyximport. I have old code written by someone else that uses pyximport.install(). I couldn't figure out what it does and why I should use it, since I am already compiling the code by myself. So, can someone explain to me in a very simple (for dummies) way what pyximport does? Additional information: I have a project1, using cython. I have a project2, that references project1.

Original source