【问题标题】:How to execute scons in a python3 environment?如何在 python3 环境中执行 scons?
【发布时间】:2018-01-10 10:27:45
【问题描述】:

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

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

官方scons网站说

这将是第一个支持低于 2.7 和 3.5+ 的 Python 版本的版本

scons -python /usr/bin/python3 之类的东西最好选择 python 解释器。

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

【问题讨论】:

标签: python-3.x scons


【解决方案1】:

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

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

【讨论】:

  • 当您想强制 Python 2.x 用于需要 Python 3 的较新的 scons 时也很有用。(是的,我知道 Python 2 已停产;尝试在这里一次修复一件事)跨度>
【解决方案2】:

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

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

#! /usr/bin/env python

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

#! /usr/bin/env python3

如果您在 Python2-default 系统下,但想用 Python3 运行 SCons

【讨论】:

  • 我在 macOS 上。谢谢,效果很好!我按照您的建议编辑了 scons 可执行文件。但也许从原来的创建一个“scons3”然后改变它更安全。我使用自制软件,它肯定会在下次更新时覆盖它。
  • 已放弃对 Python2 的支持。
【解决方案3】:

假设您安装了 python 3 virtualenv:

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

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

【讨论】:

    【解决方案4】:

    我必须编辑 /usr/bin/scons 并更改 shebang 来自

    #! /usr/bin/python
    

    #! /usr/bin/env python
    

    确保你在 python3 虚拟环境中

    【讨论】:

    • /usr/bin/scons 已经是 #! /usr/bin/env python
    猜你喜欢
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    • 2016-01-17
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多