Документация Engee

2. Начало работы

Ниже представлен краткий обзор основных функций Pkg. Этот обзор должен помочь новым пользователям познакомиться с основными функциями Pkg, такими как добавление и удаление пакетов, а также работа со средами.

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

В этом руководстве команды Pkg выполняются в REPL Pkg. Для неинтерактивной работы рекомендуем использовать API-интерфейс Pkg. Полная документация к API Pkg приведена в документации по Pkg в разделе Справка по API.

Базовое использование

Pkg поставляется со своей средой командной строки REPL. Чтобы войти в REPL для Pkg, нажмите в REPL Julia клавишу ]. Вернуться в REPL Julia можно, нажав Ctrl+C или Backspace (курсор REPL должен находиться в начале ввода).

При входе в REPL Pkg вы увидите следующее приглашение.

(@v1.9) pkg>

Для добавления пакета используйте add:

(@v1.9) pkg> add Example
   Resolving package versions...
   Installed Example ─ v0.5.3
    Updating `~/.julia/environments/v1.9/Project.toml`
  [7876af07] + Example v0.5.3
    Updating `~/.julia/environments/v1.9/Manifest.toml`
  [7876af07] + Example v0.5.3

Установленный пакета можно загрузить в сеанс Julia:

julia> import Example

julia> Example.hello("friend")
"Hello, friend"

Кроме того, можно указать множество пакетов для одновременной установки:

(@v1.9) pkg> add JSON StaticArrays

Команду status (или более короткую команду st) можно использовать для просмотра установленных пакетов.

(@v1.9) pkg> st
Status `~/.julia/environments/v1.6/Project.toml`
  [7876af07] Example v0.5.3
  [682c06a0] JSON v0.21.3
  [90137ffa] StaticArrays v1.5.9

Некоторые команды REPL Pkg имеют короткую и длинную версии, например status и st.

Для удаления пакетов используйте rm (или remove):

(@v1.9) pkg> rm JSON StaticArrays

Для обновления установленных пакетов используйте up (или update).

(@v1.9) pkg> up

Если вы следовали действиям в этом руководстве, скорее всего, установленные пакеты имеют последнюю версию, поэтому up ничего не даст. Ниже показан вывод состояния в случае, когда мы намеренно установили старую версию пакета Example, а затем обновили ее.

(@v1.9) pkg> st
Status `~/.julia/environments/v1.9/Project.toml`
⌃ [7876af07] Example v0.5.1
Info Packages marked with ⌃ have new versions available and may be upgradable.

(@v1.9) pkg> up
    Updating `~/.julia/environments/v1.9/Project.toml`
  [7876af07] ↑ Example v0.5.1 ⇒ v0.5.3

Мы видим, что вывод состояния сообщает нам, что доступна более новая версия и что up обновляет пакет.

Дополнительные сведения об управлении пакетами см. в разделе Управление пакетами документации.

Начало работы со средами

До настоящего момента мы рассматривали простейшие действия по управлению пакетами: их добавление, обновление и удаление.

Возможно, вы заметили, что в приглашении REPL указано (@v1.9). Это сообщает нам, что версия v1.9 является активной средой. В разных средах могут быть установлены совершенно разные пакеты и версии из другой среды. Именно активная среда будет изменяться командами Pkg, такими как add, rm и update.

Давайте настроим новую среду и поэкспериментируем. Чтобы задать активную среду, используйте activate:

(@v1.9) pkg> activate tutorial
[ Info: activating new environment at `~/tutorial/Project.toml`.

Pkg сообщает нам о создании новой среды и о том, что она будет храниться в каталоге ~/tutorial. Путь к среде создается относительно текущего рабочего каталога REPL.

Pkg также отражает новую активную среду, обновляя приглашение REPL:

(tutorial) pkg>

Чтобы запросить информацию об активной среде, можно использовать status:

(tutorial) pkg> status
    Status `~/tutorial/Project.toml`
   (empty environment)

~/tutorial/Project.toml — это расположение файла проекта активной среды. Файл проекта — это TOML-файл, в котором Pkg хранит пакеты, которые были установлены явным образом. Обратите внимание, что эта новая среда пуста. Давайте добавим в нее несколько пакетов и понаблюдаем:

(tutorial) pkg> add Example JSON
...

(tutorial) pkg> status
    Status `~/tutorial/Project.toml`
  [7876af07] Example v0.5.3
  [682c06a0] JSON v0.21.3

Как видите, теперь среда tutorial содержит Example и JSON.

Если один и тот же пакет (одной и той же версии) установлен в нескольких средах, он будет скачан и сохранен на жесткий диск только один раз. Поэтому среды являются очень простыми, и создать их можно фактически бесплатно. Новички часто делают распространенную ошибку в Julia, когда используют только среду по умолчанию, содержащую огромное количество пакетов. Научившись эффективно использовать среды, вы усовершенствуете свою работу с пакетами Julia.

Дополнительные сведения о средах см. в разделе Работа со средами документации.

Получение справки

Если вы не знаете, что делать, можно обратиться к Pkg за справкой:

(@v1.9) pkg> ?

Должен отобразиться список доступных команд с короткими описаниями. Укажите конкретную команду, чтобы получить более подробные сведения:

(@v1.9) pkg> ?develop

Это руководство должно помочь вам начать работу с Pkg. Диспетчер Pkg обладает значительно большими возможностями по работе с пакетами. Читайте полное руководство, чтобы узнать больше!