Julia. Пакет Revise

2025-03-22 · 2 мин. для прочтения

Julia. Пакет Revise.

Содержание

1 Общая информация

  • Пакет Julia, который позволяет автоматически перезагружать изменённые файлы модулей во время работы сессии.
  • Репозиторий: https://github.com/timholy/Revise.jl
  • Документация: https://timholy.github.io/Revise.jl/stable
  • Revise.jl работает лучше всего, когда вы разрабатываете код в интерактивном режиме, например, в Julia REPL или Jupyter Notebook.
  • Когда вы работаете над проектом и вносите изменения в файлы модулей, Revise.jl автоматически перезагрузит эти изменения, когда вы снова вызовете соответствующие функции или методы в REPL.
    • Не нужно перезапускать сессию Julia каждый раз, когда вы вносите изменения в код.

2 Установка

2.1 Установка

  • Установите пакет Revise.jl.
  • Установка в Julia REPL:
    using Pkg
    Pkg.add("Revise")
    

2.2 Загрузка

  • После установки пакета, загрузите его в вашу текущую сессию Julia:
    using Revise
    

2.3 Отключение Revise.jl для модуля

  • Если нужно отключить Revise.jl для определённого модуля или файла, можно использовать функцию Revise.disable_revise(mod):
    Revise.disable_revise(MyModule)
    

2.4 Автозагрузка

2.4.1 Автозагрузка для REPL

  • Можно запускать Revise при каждом запуске julia, запустив его из файла ~/.julia/config/startup.jl:
    try
        using Revise
    catch e
        @warn "Error initializing Revise" exception=(e, catch_backtrace())
    end
    
  • Можно добавить из командной строки:
    mkdir -p ~/.julia/config/ && tee -a  ~/.julia/config/startup.jl << END
    try
        @eval using Revise
    catch e
        @warn "Error initializing Revise" exception=(e, catch_backtrace())
    end
    END
    

2.4.2 Автозагрузка для Jupyter

  • Для загрузки Revise в IJulia запишите в файл .julia/config/startup_ijulia.jl:
    try
        @eval using Revise
    catch e
        @warn "Error initializing Revise" exception=(e, catch_backtrace())
    end
    
  • Можно добавить из командной строки:
    mkdir -p ~/.julia/config/ && tee -a  ~/.julia/config/startup_ijulia.jl << END
    try
        @eval using Revise
    catch e
        @warn "Error initializing Revise" exception=(e, catch_backtrace())
    end
    END
    
Дмитрий Сергеевич Кулябов
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Мои научные интересы включают физику, администрирование Unix и сетей.