Я пишу простой код, используя modulefinder как dump_mod.py
import sys
from modulefinder import ModuleFinder
finder = ModuleFinder()
arg=sys.argv[1]
finder.run_script(arg)
print('Loaded modules:')
for name, mod in finder.modules.items():
print('%s: ' % name, end='')
print(','.join(list(mod.globalnames.keys())[:3]))
, чтобы выгрузить импортированные модули следующих скриптов (test.py)
import types
from functools import wraps
from . import PidFile
Я получил следующую ошибку::
#./dump_mod.py ./test.py
Traceback (most recent call last):
File "./dump_mod.py", line 13, in <module>
finder.run_script(arg)
File "/usr/lib/python3.6/modulefinder.py", line 110, in run_script
self.load_module('__main__', fp, pathname, stuff)
File "/usr/lib/python3.6/modulefinder.py", line 304, in load_module
self.scan_code(co, m)
File "/usr/lib/python3.6/modulefinder.py", line 399, in scan_code
parent = self.determine_parent(m, level=level)
File "/usr/lib/python3.6/modulefinder.py", line 145, in determine_parent
raise ImportError("relative importpath too deep")
ImportError: relative importpath too deep
Я знаю, что это происходит из "from. Import PidFile", как я могу игнорировать эту ошибку и вернуть правильные импортные луки, кроме строки "from. Import PidFile"