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 имеют короткую и длинную версии, например |
Для удаления пакетов используйте 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
обладает значительно большими возможностями по работе с пакетами. Читайте полное руководство, чтобы узнать больше!