无法在 python 中导入我的 Cython 模块。为什么不起作用?

问题描述 投票:0回答:1

我在与其他Python包分开的包中创建并构建了一个Cython文件,该项目具有以下目录结构:

cython_code
    cython_file.pyx
    setup.py
program
    main.py

Cython 的安装是使用 PyCharm 完成的。 使用命令完成构建:

python setup.py build_ext --inplace

并且使用相应的 .pyd、.c 文件和构建文件夹创建了构建。

但由于某种原因我无法导入该模块。 code in order to import module

我还尝试将 .pyx 文件放在项目根文件夹中并在那里进行编译,但我通过简单的 import 遇到了同样的问题(它找不到 cython 模块)。

这是我的设置.py:

from setuptools import setup
from Cython.Build import cythonize
import numpy

setup(
    ext_modules=cythonize('my_cython.pyx'),
    include_dirs=[numpy.get_include()]
)

请帮我解决这个问题...

python import cython
1个回答
0
投票

.pyx 文件是用于构建实际扩展代码文件的源文件(扩展名为 .so 或 .dll); Python 在运行时不使用它。要使您的包可在 Python 中导入,您需要 (1) 运行

pip install .
并实际安装构建工件,或者 (2) 找到构建的 .so 文件并确保它位于您的 PYTHONPATH 上。

对于初始项目,您可以按照 Cython 文档中的步骤进行操作。

© www.soinside.com 2019 - 2024. All rights reserved.