python - Cython 导入错误 : No module named parallel

标签 python parallel-processing cython enthought

我正在尝试访问 Cython 0.15 的新并行功能(使用 赛通 0.15.1)。但是,如果我尝试这个最小的示例(testp.py),取自 http://docs.cython.org/src/userguide/parallelism.html :

from cython.parallel import prange, parallel, threadid
cdef int i
cdef int sum = 0

for i in prange(n, nogil=True):
    sum += i
print sum

使用此 setup.py:

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
import numpy

ext = Extension("testp", ["testp.pyx"], include_dirs=[numpy.get_include()],
                extra_compile_args=['-fopenmp'], extra_link_args ['-fopenmp'])
setup(ext_modules=[ext], cmdclass={'build_ext': build_ext})

当我 import testp ,Python告诉我:ImportError: No module named parallel 。事实上,如果我浏览 Cython 包 site-packages,我找不到任何名为的文件或目录 parallel 。但我认为它应该包含在 发布?有人可以为困惑的用户澄清一下吗?

最佳答案

我正在使用 Cython 0.15+

Shadow.py 中存在 cython.parallel:

import sys
sys.modules['cython.parallel'] = CythonDotParallel()

Shadow.py 可以位于 Python 的 dist-packages 目录中,例如 Linux 中的 /usr/local/lib/python2.6/dist-packages/

关于python - Cython 导入错误 : No module named parallel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8387510/

相关文章:

python - 如果 set 为空,则返回 bool 值

c - MPI 笛卡尔拓扑 - MPI_Gather 等效吗?

c++ - MPI 如何发送和接收未知数据类型

python-3.x - Cython 中固定大小的字节串序列

python - 在 cython 中创建小数组需要大量时间

python - 将类信息添加到 keras 网络

Python:切片和数组合并的速度有多快?

python - 在c或python中计算组合

Python - 使用 joblib 进行循环并行化

python - pickle 一个包含 __cinit__ : __setstate__ vs __reduce__? 的 cython 类