You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在scikit构建的pybind11项目中添加纯Python函数并解决报错

解决scikit_build_example添加纯Python函数后无法访问的问题

你遇到的问题是因为新增的cube.py模块没有被注册到scikit_build_example包的顶层导出中,或者包配置未正确包含该文件。按以下步骤修复:

1. 调整包的初始化文件

修改src/scikit_build_example/__init__.py,将cube函数导入到包的命名空间:

# 保留原有导入_core的代码
from ._core import *
# 添加导入cube函数的代码
from .cube import cube

2. 确保包配置包含新文件

检查项目的pyproject.toml(或setup.py),确保包发现配置能识别新增的Python文件:

  • 如果使用pyproject.toml,确认存在以下配置:
    [tool.setuptools.packages.find]
    where = ["src"]
    include = ["scikit_build_example*"]
    
  • 如果使用setup.py,确认setup函数的参数正确:
    from setuptools import find_packages, setup
    
    setup(
        # 其他配置...
        packages=find_packages(where="src"),
        package_dir={"": "src"},
    )
    

3. 重新安装并测试

执行命令重新安装包:

pip install .

或者用开发模式安装(方便后续修改):

pip install -e .

测试是否能正常调用:

import scikit_build_example
print(scikit_build_example.cube(3))  # 输出27

内容的提问来源于stack exchange,提问作者sodiumnitrate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 08:17:10