我有一个我正在构建的 python 模块的 SConstruct 文件:
import distutils.sysconfig
env = Environment(CPPPATH=['include', distutils.sysconfig.get_python_inc()],
CPPFLAGS='-ggdb', SWIGFLAGS=['-python'],
SWIGPATH=['include'])
env.ParseConfig( 'net-snmp-config --libs --cflags' )
env.Append( LIBS = 'pthread' )
backend_interface = 'src/backend_interface.c'
backend_thread = 'src/backend_thread.c'
python_wrapper = 'src/backend_thread.i'
lib = env.SharedLibrary( target = "_rpdu_backend",
source = [ backend_interface,
backend_thread, python_wrapper ],
SHLIBPREFIX='' )
env.Install( distutils.sysconfig.get_python_lib(),
[ lib, 'src/rpdu_backend.py'] )
跑步:
$ scons --install-sandbox=./sandbox
导致库和相关的 .py 模块安装在 ./sandbox/usr/local/lib/python2.6/site-packages 中。如果我只是运行:
#scons
作为 root,没有任何东西安装到 /usr/local/lib/python2.6/site-packages。
为什么没有沙箱选项 scons 不构建安装目标?