Python 带有虚拟代码或(源提供程序)的Pydevd

Python 带有虚拟代码或(源提供程序)的Pydevd,python,eclipse,debugging,pydev,remote-debugging,Python,Eclipse,Debugging,Pydev,Remote Debugging,我们将python源代码存储在sql数据库中,这些代码一起构建成一个虚拟python模块,可以执行。 我们想调试这些模块,但是Eclipse调试器主机当然不知道在哪里可以找到这些模块的源代码 是否有一种方法可以向pydevd提供源代码的位置,即使这意味着将文件写入磁盘?您需要在Eclipse项目设置中将模块添加到PYTHONPATH中,并使用标准Python导入将其导入。然后PyDev调试器应该可以找到它,没有任何问题。将其写入磁盘,并在编译时传递代码的文件名(并且,当您不处于调试模式时,只需不

我们将python源代码存储在sql数据库中,这些代码一起构建成一个虚拟python模块,可以执行。 我们想调试这些模块,但是Eclipse调试器主机当然不知道在哪里可以找到这些模块的源代码


是否有一种方法可以向pydevd提供源代码的位置,即使这意味着将文件写入磁盘?

您需要在Eclipse项目设置中将模块添加到PYTHONPATH中,并使用标准Python导入将其导入。然后PyDev调试器应该可以找到它,没有任何问题。

将其写入磁盘,并在编译时传递代码的文件名(并且,当您不处于调试模式时,只需不编写它并将其作为文件名传递)

请参见下面的示例:

from tempfile import mktemp

my_code = '''
a = 10
print a
'''

tmp_filename = mktemp('.py', 'temp_file_')
with open(tmp_filename, 'w') as f:
    f.write(my_code)
obj = compile(my_code, tmp_filename, 'exec')
exec obj #Place breakpoint here: when stepping in it should get to the code.

在非本地工作时,这是否可以不在服务器上写入虚拟模块而只在客户端(eclipse正在运行的地方)上工作。它显示了如何映射远程和本地源。