如何在 python3 环境下执行 scons?

How to execute scons in a python3 environment?

我需要在 scons 脚本中导入 python3 脚本。 (我用的是scons v3.0.1.7)

有没有办法用 python 3 执行 scons?

scons 官方网站说

This will be the first release to support Python versions earlier than 2.7 as well as 3.5+

scons -python /usr/bin/python3 之类的东西对 select python 解释器很有用。

我也没有找到如何为 python3 构建 scons 版本。

在最新版本中,SCons 同时支持 Python2 和 Python3。无需重新编译 SCons 本身等。重要的是哪个 Python 版本是您系统上的默认版本。

你没有提到你试图在哪个 OS 下工作,所以我现在假设 Linux。安装后,您可以在类似 /usr/local/bin/scons 的位置找到 scons 脚本(如果有疑问,请尝试“which scons”)。第一行

#! /usr/bin/env python

告诉您的系统使用默认的 Python 版本。如果这不是您想要的,您可以简单地将其更改为例如

#! /usr/bin/env python3

如果您使用 Python2-默认系统,但想 运行 SCons 改为 Python3。

这是一个更好的解决方案,将其添加到您的 .bash_profile:

alias scons3="/usr/bin/env python3 $(which scons)" 

假设您安装了 python 3 virtualenv:

virtualenv-3.6 venv3
venv3/bin/pip install -U setuptools wheel pip
venv3/bin/pip install scons
venv3/bin/scons

这使您的安装不受自制软件更新的影响..

我不得不编辑 /usr/bin/scons 并从

更改 shebang
#! /usr/bin/python

#! /usr/bin/env python

确保您处于 python3 虚拟环境