Spec-Zone.ru › Julia 1.9

Пакетный менеджер Pkg

Pkg — встроенный пакетный менеджер Julia, который отвечает за такие операции, как установка, обновление и удаление пакетов.

Ниже приводится очень краткое введение в Pkg. Для получения более подробной информации о файлах Project.toml, файлах Manifest.toml, совместимости версий пакетов ([compat]), средах, реестрах и т. д., настоятельно рекомендуется прочитать полное руководство, доступное по адресу: https://pkgdocs.julialang.org.

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

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

В этом руководстве используется Pkg REPL для выполнения команд Pkg. Для использования без интерактивного режима рекомендуется использовать Pkg API. Pkg API полностью документирован в разделе «Справочник по API» документации Pkg по адресу API Reference.

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

При входе в Pkg REPL вы должны увидеть следующий пригласительный символ:

(@v1.8) pkg>

Чтобы добавить пакет, используйте add:

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

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

julia> import Example

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

Мы также можем указать несколько пакетов одновременно для установки:

(@v1.8) pkg> add JSON StaticArrays

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

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

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

Чтобы удалить пакеты, используйте rm (или remove):

(@v1.8) pkg> rm JSON StaticArrays

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

(@v1.8) pkg> up

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

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

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

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

Для получения дополнительной информации об управлении пакетами см. раздел «Управление пакетами» в документации по адресу Managing Packages.

До этого момента мы рассмотрели базовые операции управления пакетами: добавление, обновление и удаление пакетов.

Вы, возможно, заметили (@v1.8) в приглашении REPL. Это означает, что v1.8 является активной средой. Разные среды могут иметь совершенно разные пакеты и версии, установленные по сравнению с другой средой. Активная среда — это среда, которая будет изменяться командами Pkg, такими как add, rm и update.

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

(@v1.8) 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.

Для получения дополнительной информации об средах см. раздел «Работа со средами» в документации по адресу Working with Environments.

Если вы застряли, вы можете запросить помощь у Pkg:

(@v1.8) pkg> ?

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

(@v1.8) pkg> ?develop

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

© 2009–2023 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/v1.9/stdlib/Pkg/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API