简体   繁体   中英

How to execute scons in a python3 environment?

I need to import python3 scripts within a scons script. (I use scons v3.0.1.7)

Is there a way to execute scons with python 3 ?

The offical scons site says

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

Something like scons -python /usr/bin/python3 would be good to select the python interpreter.

I did not find either how to build a scons version for python3.

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

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

In the latest versions, SCons supports both Python2 and Python3. There is no need to recompile SCons itself or such. All that matters is which Python version is the default on your system.

You don't mention under which OS you're trying to get this working, so I assume a Linux for now. After the installation you can find the scons script in a location like /usr/local/bin/scons (try " which scons " if in doubt). The first line

#! /usr/bin/env python

tells your system to use the default Python version. If this is not what you want, you can simply change it to eg

#! /usr/bin/env python3

if you're under a Python2-default system, but want to run SCons with Python3 instead.

Assuming you have python 3 virtualenv installed:

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

That allows your install to be unaffected by homebrew's updates..

I had to edit /usr/bin/scons and change the shebang from

#! /usr/bin/python

to

#! /usr/bin/env python

Make sure you are in a python3 virtual environment

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM