首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中从.pyx文件导入函数?

如何在python中从.pyx文件导入函数?
EN

Stack Overflow用户
提问于 2011-09-22 10:07:58
回答 2查看 45.5K关注 0票数 19

我正在尝试运行Hadoopy,它有一个_main.pyx文件,但import _main失败,在__init__.py中找不到模块。

我正在尝试用标准的python2.7在OS X上运行它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-22 10:11:10

在尝试导入_main之前添加此代码

代码语言:javascript
复制
import pyximport
pyximport.install()

请注意,pyximportCython的一部分,因此如果尚未安装,则必须安装它。

票数 42
EN

Stack Overflow用户

发布于 2021-09-03 13:09:27

你需要确保你遵循了所有的步骤:

  1. 使用pip安装Cython包

pip安装Cython

  1. 创建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.ndarrayDTYPE_t,ndim=2 boxes1,np.ndarrayDTYPE_t,ndim=2 boxes2):...

  1. 在同一目录中创建setup.py

从distutils.core导入设置,Extension from Cython.Build import cythonize import numpy package = Extension('bbox','bbox.pyx',include_dirs=numpy.get_include()) setup(ext_modules=cythonize(package))

  1. 构建Cython

python3 setup.py build_ext --inplace

  1. 在同一目录中创建主python脚本run.py

从bbox导入pyximport pyximport.install(setup_args={"script_args“:"--verbose"})导入compare_bboxes定义主(Args):boxes1 = args.boxes1 boxes2 = args.boxes2 result = compare_bboxes(boxes1,boxes2)

  1. 在同一目录中运行您的主脚本

python run.py

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7508803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档