擅长:python、mysql、java
<p>假设你想让柯南和斯科恩在一起,还有另一种方法。如果这是“普通”Python,那么其他两个答案将是完全正确的。但是,由于您显然在Conan中使用了SCons生成器(否则,您就不会得到该文件),因此您有一个与SCons兼容的文件。SCons自然在Python之上增加了管理“自己”文件的功能</p>
<p>因此,您根本不需要exec。这就是您所需要的:</p>
<pre class="lang-py prettyprint-override"><code>conan = env.SConscript("SConscript_conan")
# Note: you may need to change the path to SConscript_conan depending on your
# build system configuration. If you installed Conan in `build`, the
# path should be "build/SConscript_conan"
env.MergeFlags(conan["conan"])
</code></pre>
<p>这还可以确保添加所需的所有其他标志,而不仅仅是路径。如果您决定添加其他库,还可以保存手动设置</p>
<p><code>Return('conan')</code>是一个SCons函数,它基本上相当于从SConscript文件将变量(此处:<code>conan</code>)返回到执行它的任何文件中。不正确的执行,或者当然不存在变量,足以导致函数抛出。如果正确地获取SConscript文件的源代码,它应该可以正常工作</p>
<p>另请参见<a href="https://docs.conan.io/en/latest/integrations/build_system/scons.html" rel="nofollow noreferrer">Conan documentation</a>,特别是第二个代码段和<a href="https://scons.org/doc/4.0.1/HTML/scons-user.html#idp140430748480840" rel="nofollow noreferrer">the SCons docs on SConscript files</a></p>