Pydevd с виртуальным кодом или (поставщик источника) - PullRequest
0 голосов
/ 09 сентября 2011

у нас есть исходный код Python, хранящийся в базе данных SQL, код собирается вместе в виртуальный модуль Python и может быть выполнен.Мы хотим отладить эти модули, но тогда, конечно, хост отладчика Eclipse не знает, где найти исходный код для этих модулей.

Есть ли способ предоставить pydevd местоположение исходного кода, даже если этозначит записать файлы на диск?

Ответы [ 2 ]

1 голос
/ 12 сентября 2011

Запишите его на диск и при выполнении компиляции передайте имя файла для кода (и, когда вы не находитесь в режиме отладки, просто не пишите его и передайте '<string>' в качестве имени файла).

См. Пример ниже:

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.
0 голосов
/ 11 сентября 2011

Вам необходимо добавить модуль в PYTHONPATH в настройках проекта Eclipse и импортировать его, используя стандартный импорт Python.Тогда отладчик PyDev должен найти его без проблем.

...