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

如何将原生C构建依赖的setup.py替换为pyproject.toml

将遗留setup.py转换为pyproject.toml以编译Black-Scholes C扩展

转换后的pyproject.toml配置

直接替换或创建black_scholes/pyproject.toml为以下内容,完全替代原setup.py的功能:

[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"

[project]
name = "black_scholes"
version = "0.0.1"
description = "European Options Pricing Library"

[tool.setuptools.packages.find]
where = ["black_scholes"]

[tool.setuptools.extension.bs]
sources = ["black_scholes/bs.c"]

配置说明

  • [build-system]:指定构建所需的setuptools最低版本(必须支持pyproject.toml规范),以及构建后端
  • [project]:迁移原setup.py中的包元数据(名称、版本、描述)
  • [tool.setuptools.packages.find]:自动发现black_scholes包,对应原setup.py的packages=['black_scholes']
  • [tool.setuptools.extension.bs]:定义C扩展模块,对应原setup.py的Extension('bs', sources=['black_scholes/bs.c'])

编译安装步骤

  1. 进入项目的black_scholes目录(即pyproject.toml所在目录)
  2. 执行安装命令:
    pip install .
    
    若需开发模式(修改代码后无需重新安装),则执行:
    pip install -e .
    

解决MSVC 14编译器报错问题

若明明已安装编译器却提示缺失,按以下步骤排查:

  • 打开对应架构的Visual Studio命令提示符(如x64 Native Tools Command Prompt)再执行安装命令,确保编译环境变量正确配置
  • 确认Python架构(32/64位)与编译器架构完全匹配
  • 更新pip到最新版本:pip install --upgrade pip
  • 检查Visual Studio安装时是否勾选了「C++桌面开发」 workload,以及对应的Windows SDK组件

后续清理

原setup.py已不再需要,可直接删除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 10:15:34