How do I import function from .pyx file in python?
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开发者_C百科 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
pippip install CythonCreate a Cython file
bbox.pyxcimport 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.pyin the same directoryfrom 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 --inplaceCreate your main python script
run.pyin the same directoryimport 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
加载中,请稍侯......
精彩评论