是否可以使用 setup.py 而不是 SConstruct?
Is it possible to have a setup.py instead of a SConstruct?
我仔细观察了 Scons,闻到了一些味道。 SCons 使用 SConstruct
个文件作为基础配置文件。此配置文件是 Python 文件但是:
- 它没有
.py
扩展名
- 它没有任何
import
指令
- 无法从 IDE 自动完成
是否可以使用 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。
我仔细观察了 Scons,闻到了一些味道。 SCons 使用 SConstruct
个文件作为基础配置文件。此配置文件是 Python 文件但是:
- 它没有
.py
扩展名 - 它没有任何
import
指令 - 无法从 IDE 自动完成
是否可以使用 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。