Как быстро установить и настроить профессиональную среду Julia

Нужно быстро начать работу с Джулией?

Это руководство шаг за шагом проведет вас через настройку профессиональной среды разработки Julia. Вы узнаете, как:

  • Установите Юлию с помощью juliaup.
  • Настройте расширение Julia VS Code.
  • Создайте общую среду разработки с общими инструментами разработки.
  • Напишите файл startup.jl для автоматической загрузки общей среды при каждом запуске Julia.

Откройте свой терминал и давайте погрузимся.

Установить Юлию с juliaup

Вы можете загрузить исполняемый файл Julia с julialang.org, но это скучно.

Все крутые ребята используют juliaup, мультиплексор версий Джулии, вдохновленный проектом rustup. С помощью juliaup вы можете установить несколько версий Julia и переключаться между ними из командной строки. Он даже уведомит вас в вашем терминале, когда будет доступна новая версия Julia.

Чтобы установить juliaup, выполните приведенную ниже команду, соответствующую вашей операционной системе:

macOS/Linux:

curl -fsSL https://install.julialang.org | sh

Windows:

winget install julia -s msstore

Запустите juliaup status, чтобы увидеть все версии Julia, установленные juliaup. Последняя версия уже установлена:

$ juliaup status
 Default  Channel  Version                         Update
----------------------------------------------------------
       *  release  1.8.5+0.aarch64.apple.darwin14

Вы можете узнать больше о juliaup из README проекта на GitHub.

Настройте расширение кода Julia VS

Вы можете использовать Julia с предпочитаемым вами редактором кода. Но если вам нужен опыт работы с IDE, лучший вариант — VS Code. Те же люди, что и juliaup, поддерживают официальное расширение Julia VS Code.

Загрузите и установите VS Code, если вы еще этого не сделали. Затем откройте VS Code и перейдите на вкладку Расширения на панели действий:

Введите julia в строку поиска. Первым результатом должно быть официальное расширение Julia, опубликованное проверенной учетной записью с именем julialang:

Нажмите Установить, чтобы установить расширение:

Если вы не изменили расположение своей установки Julia с помощью juliaup — что-то, что не рассматривается в этом руководстве — расширение найдет Julia автоматически.

Чтобы проверить это, создайте файл hello_world.jl где-нибудь на своем компьютере, откройте его с помощью VS Code, добавьте строку print("Hello, world") и сохраните файл, затем нажмите кнопку воспроизведения в правом верхнем углу окна:

VS Code выполняет сценарий и отображает вывод в новом окне Julia REPL в нижней части окна редактора.

Примечание. Если VS Code не может найти Julia, вам может потребоваться указать правильное место установки, изменив параметр julia.executablePath. Дополнительную информацию см. в Документации по расширению кода Julia VS.

Расширение Julia VS Code предоставляет языковую поддержку, Intellisense, инструменты анализа и форматирования, а также все остальное, что вам нужно, чтобы погрузиться в свой первый проект Julia.

Дополнительно: создание общей среды разработки

В экосистеме Julia есть несколько фантастических инструментов для повышения производительности разработчиков, в том числе:

  • Revise.jl для использования изменений кода из REPL без перезапуска Julia.
  • OhMyREPL.jl для подсветки синтаксиса REPL и сопоставления скобок.
  • BenchmarkTools.jl для отслеживания производительности и сравнительного анализа.

Эти три пакета превращают Julia REPL в простую, но мощную среду разработки. Было бы здорово, если бы вы могли получить доступ к этим инструментам независимо от того, над каким проектом вы работаете. Благодаря поддержке Джулии для многоуровневых сред это возможно.

Начните с создания где-нибудь нового каталога для среды инструментов разработки. Я храню свои в папке под названием ~/.julia-environments/tools/. Затем cd в эту директорию и запускаем Julia:

$ mkdir -p ~/.julia-environments/tools
$ cd ~/.julia-environments/tools
$ julia

После запуска REPL нажмите ], чтобы войти в режим менеджера пакетов:

julia> ]
(@v1.8) pkg>

(@v1.8) слева от pkg> указывает, что базовая (или глобальная) среда для Julia версии 1.8 в настоящее время активна. Вы можете увидеть другой номер версии.

Примечание. Благодаря стандартному процессу загрузки среды Julia вы можете устанавливать пакеты в глобальной среде и автоматически получать к ним доступ в каждом проекте.

Есть две причины, по которым я этого не делаю:

1. Годы программирования на Python приучили меня избегать глобальных сред.

2. Глобальная среда Джулии живет в ~/.julia/environments/, которым управляет сама Джулия. Я хочу, чтобы среда моих инструментов находилась там, где я знаю, что она не изменится внезапно (и я могу контролировать версии).

Создайте новую среду в текущем каталоге, выполнив activate . в REPL:

(@v1.8) pkg> activate .
  Activating new project at `~/.julia-enironments/tools`

(tools) pkg>

Используйте команду add для установки пакетов Revise, OhMyREPL и BenchmarkTools:

(tools) pkg> add Revise OhMyREPL BenchmarkTools
    Updating registry at `~/.julia/registries/General.toml`
   Resolving package versions...
    Updating `~/.julia-enironments/tools/Project.toml`
  [6e4b80f9] + BenchmarkTools v1.3.2
  [5fb14364] + OhMyREPL v0.5.13
  [295af30f] + Revise v3.5.0
    Updating `~/.julia-enironments/tools/Manifest.toml`
  [6e4b80f9] + BenchmarkTools v1.3.2
  [da1fd8a2] + CodeTracking v1.2.0
  [a8cc5b0e] + Crayons v4.1.1

  ... (output truncated)
  
(tools) pkg>

В каталоге ~/.julia-environment/tools/ создаются два файла:

  • Project.tomlсодержит имена и хэши для трех пакетов, которые вы установили с помощью команды add.
  • Manifest.tomlописывает полностью разрешенный граф зависимостей для пакетов в Project.toml.

Вместе каталог ~/.julia-environments/tools/ и файлы Project.toml и Manifest.toml формально определяют Джулию как окружение. Но вам придется явно активировать среду каждый раз, когда вы хотите ее использовать.

Давайте изменим это.

Дополнительно: напишите файл startup.jl

Нажмите Ctrl+ D, чтобы закрыть Юлию REPL. Затем cd в каталог ~/.julia/. ~/.julia/ был создан автоматически, когда вы установили Джулию с juliaup. Он содержит, среди прочего, глобальные среды, реестры пакетов, журналы и файлы конфигурации.

Создайте файл ~/.julia/config/startup.jl со следующим содержимым (ура Тиму Холи за включение шаблона для загрузки пакетов в startup.jl в Revise.jl docs):

Примечание. Вам может потребоваться создать каталог ~/.julia/config/ при новой установке Julia.

Теперь каждый раз, когда вы запускаете Julia — даже из VS Code — Revise, OhMyREPL и BenchmarkTools безопасно и автоматически загружаются поверх активной среды без необходимости устанавливать и импортировать их в каждый проект.

Довольно изящно, если вы спросите меня!

Другие startup.jl пакеты

Вот несколько других удобных пакетов, которые можно установить в среде инструментов и импортировать в файл startup.jl:

  • JuliaFormatter.jl для автоматического форматирования вашего кода.
  • PkgTemplates.jl для быстрого создания новых пакетов Julia.
  • Term.jl для улучшения ведения журналов, ошибок и стилей воспроизведения.
  • AbbreviatedStackTraces.jl для улучшенной трассировки стека.

И не пропустите эту давнюю ветку в дискурсе Джулии со многими другими вариантами использования startup.jl.

Эта статья изначально была опубликована в информационном бюллетене Curious About Code. Подпишитесь здесь и читайте каждый выпуск первым.