是否可以使用 setup.py 而不是 SConstruct?

Is it possible to have a setup.py instead of a SConstruct?

我仔细观察了 Scons,闻到了一些味道。 SCons 使用 SConstruct 个文件作为基础配置文件。此配置文件是 Python 文件但是:

是否可以使用 SConstruct 文件的变体,我可以在其中找到如下内容?

# build.py
import scons
env = scons.Environment() 
env.Program('foo')

按照您的要求进行操作并不简单(但可能)。 SConscripts 是普通的 python,但是在 SConstruct 或 SConscripts 的上下文中可用的全局变量是经过精心构造的。

任何用户都可以添加方法,也可以通过 Export() 或导出(在 SConscript 调用中)将 python 对象传递到 SConscripts。

那说尝试:

from SCons.Script import *

这应该能找到您要找的东西。

Pycharm 找不到相关符号的事实并不意味着它不是普通的 python 文件。

此外,我不确定您的问题主题与问题内容之间的关系。通常 setup.py 是一个用于构建软件包 ala setuptools 并通过 pip(或类似工具)安装的文件。

当然,您可以使用 setuptools 构建您想要构建的任何内容,这可能会更难做到,但如果您让它工作,也许更容易通过 pypi 上传和分发

p.s。是 SCons 不是 Scons。