• Как реимпортировать модуль перед запуском :PymodeRun в python-mode для vim?

    @dsemen Автор вопроса
    Добрался сам
    1. Решение "в лоб"
    в файле file2.py не используем from и временно добавляем reload:
    import file1 as f
    
    import imp
    imp.reload(f)
    
    print(f.value)

    Кривовато, но работает и не нужно ничего менять в самом python-mode

    2. Слегка правим python-mode (сделал у себя)
    Находим файл python-mode/pymode/run.py и добавляем пару строк (обрамил строки 37 - 40):
    +       m_keys = sys.modules.keys()
    37      code = compile('\n'.join(lines) + '\n', env.curbuf.name, 'exec')
    38      sys.path.insert(0, env.curdir)
    39      exec(code, context) # noqa
    40      sys.path.pop(0)
    +       for k in set(sys.modules) - set(m_keys):
    +           del sys.modules[k]

    Написал issue на github.
    Ответ написан
    Комментировать