sách gpt4 ăn đã đi

python - Cython:ImportError:没有名为 'myModule' 的模块:如何将包含 cimport 的 cython 模块调用到另一个 cython 结节?

In lại Tác giả: IT Lão Cao 更新时间:2023-10-28 21:13:29 29 4
mua khóa gpt4 giày nike

我正在尝试将 cython 模块 data.pyx 导入另一个 cython 模块 user.pyx。一切都编译得很好,但是当我尝试在 python 模块中调用 user.pyx 时,我收到错误“ImportError: No module named data”。

一切都在同一个目录中。

package/
__init__.py #empty
setup.py
data.pxd
data.pyx
user.pyx

我的 setup.py

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


ext_modules = [
Extension("data", ["data.pyx"]),
Extension("user", ["user.pyx"],include_dirs = ['myPackageDir'])
]

cài đặt(
name = 'app',
cmdclass = {'build_ext': build_ext},
ext_modules = ext_modules
)

运行下面的 test.py 会报错。

import user #this line raised the 'ImportError: No module named data' below
user.doSomething()

我得到的异常(exception)是

Traceback:
File "test.py", line 1, in
import package.user
File "user.pyx", line 1, in init user (user.c:3384)
ImportError: No module named data

我怎样才能使导入工作?感谢您的帮助。

câu trả lời hay nhất

我在另一个项目中再次遇到这个问题。为了解决它,这是我所做的:

  • tất cả nhập khẩucimport 语句必须是完全限定的
  • 所有的python代码都必须包含在一个rootFolder
  • setup.py 必须与 rootFolder 处于同一级别
  • rooFolder 中的所有文件夹,包括 rootFolder 都必须包含 __init__.py
  • 在您的 setup.py 中,扩展的 include_dirs 必须包含 '.'

我创建了一个简单的项目来说明 đây .
cái nàytrang帮助我创建了它。
但是我的项目比较简单,如果我拥有它,我想它会对我有很大帮助。
我的项目还说明了如何自动构建项目中的所有 cython 文件。

关于python - Cython:ImportError:没有名为 'myModule' 的模块:如何将包含 cimport 的 cython 模块调用到另一个 cython 结节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9882447/

29 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress