debugging SCONSPDB找不到我的文件,即使我明确地将它附加到系统路径之后

7kjnsjlb  于 2023-03-03  发布在  其他
关注(0)|答案(1)|浏览(93)

我尝试调试一个scons文件,如下所示:scons --debug=pdb。当我尝试使用b SConstruct:24SConstruct中设置断点时,出现错误:

***在系统路径中未找到“SConstruct”

我的SConstruct文件在当前目录中。我尝试将当前目录附加到sys.path。使用sys.path.append(os.getcwd()),然后重新运行b SConstruct:24命令,但我仍然得到相同的错误。知道为什么会发生这种情况吗?

8mmmxcuj

8mmmxcuj1#

这是由于Python的pdb的实现,在启动时,脚本的路径被插入到sys.path--但那是SCons的路径,而不是你的项目的路径,你可以自己把它添加到sys.path,但不清楚它是否真的适用于SConstruct/SConscript:一个文档字符串建议可以省略.py,但这似乎意味着如果文件名为something.py,您可以要求something-如果您提供的名称没有扩展名,它会在执行查找时添加.py。真正起作用的是SConstruct的绝对路径,因为pdb的lookupmodule方法以如下方式开始:

if os.path.isabs(filename) and  os.path.exists(filename):
            return filename

诚然,打字是一件痛苦的事。
SCons确实允许您将您的sconstruct文件命名为SConstruct.py,这可能有助于在以这种方式进行调试时作为临时措施。

相关问题