Jar*_*ock 5 scons python-import
我的构建结构如下:
SConstruct
subdir/SConscript
subdir/module/__init__.py
Run Code Online (Sandbox Code Playgroud)
SConstructsubdir/SConscript作为子公司调用:
# SConstruct
SConscript('subdir/SConscript')
Run Code Online (Sandbox Code Playgroud)
subdir/SConscript进口module:
# subdir/SConscript
from module import foo
do SConsy stuff with foo()...
Run Code Online (Sandbox Code Playgroud)
这工作正常,直到我使用variant_dirwith subdir/SConscript:
# SConstruct
SConscript('subdir/SConscript', variant_dir='subdir/build', duplicate=0)
Run Code Online (Sandbox Code Playgroud)
问题是import失败,因为module不再位于路径中,该路径已被 更改variant_dir。
SCons 或 Python 是否有解决此问题的标准方法?我知道特殊site_scons目录,但看来该目录必须存在于 root 的顶层SConstruct,并且我想将subdir特定文件保留在subdir.
在您的模块的项目根目录中使用 site_scons 目录。例如我有模块xxx,他被放置在:root/site_scons/xxx/__init__.py。现在,我可以在所有 SConscript 文件中导入 xxx。
| 归档时间: |
|
| 查看次数: |
3672 次 |
| 最近记录: |