我正在尝试运行Hadoopy,它有一个文件_main.pyx,并且import _main在__init__.py中找不到模块失败.
我试图在OS X w /标准python 2.7上运行它.
ick*_*fay 26
在尝试导入之前添加此代码_main:
import pyximport
pyximport.install()
Run Code Online (Sandbox Code Playgroud)
请注意,这pyximport是Cython的一部分,因此如果尚未安装,则必须安装.
tsv*_*iko 11
您需要确保已遵循所有步骤:
使用安装 Cython 包pip
pip install Cython
Run Code Online (Sandbox Code Playgroud)
创建 Cython 文件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):
...
Run Code Online (Sandbox Code Playgroud)
在同一目录下创建setup.py
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]))
Run Code Online (Sandbox Code Playgroud)
构建 Cython
python3 setup.py build_ext --inplace
Run Code Online (Sandbox Code Playgroud)
在同一目录中创建主 python 脚本run.py
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 Code Online (Sandbox Code Playgroud)
在同一目录中运行主脚本
python run.py
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25768 次 |
| 最近记录: |