I'm trying to run Hadoopy, which has a file _main.pyx, and import _main
is failing with module not found in __init__.py.
I'm trying to run this on OS X w/ standard python 2.7.
I'm trying to run Hadoopy, which has a file _main.pyx, and import _main
is failing with module not found in __init__.py.
I'm trying to run this on OS X w/ standard python 2.7.
Add this code before you try to import _main
:
import pyximport
pyximport.install()
Note that pyximport
is part of Cython, so you'll have to install that if it isn't already.
You need to make sure you have followed all steps:
Install the Cython package using pip
pip install Cython
Create a Cython file bbox.pyx
cimport cython
import numpy as np
cimport numpy as np
DTYPE = np.float32
ctypedef np.float32_t DTYPE_t
@cython.boundscheck(False)
def compare_bboxes(
np.ndarray[DTYPE_t, ndim=2] boxes1,
np.ndarray[DTYPE_t, ndim=2] boxes2):
...
Create setup.py
in the same directory
from distutils.core import setup, Extension
from Cython.Build import cythonize
import numpy
package = Extension('bbox', ['bbox.pyx'], include_dirs=[numpy.get_include()])
setup(ext_modules=cythonize([package]))
Build the Cython
python3 setup.py build_ext --inplace
Create your main python script run.py
in the same directory
import pyximport
pyximport.install(setup_args={"script_args" : ["--verbose"]})
from bbox import compare_bboxes
def main(args):
boxes1 = args.boxes1
boxes2 = args.boxes2
result = compare_bboxes(boxes1, boxes2)
Run your main script in the same directory
python run.py