#julia #pluto
Вопрос:
Записная книжка Плутона для Джулии все время просит обновить ее. Я обновляю его прямо с Плутона, выключаю, перезапускаю, и он говорит, чтобы обновить его снова. Пробовал 3 раза. Это ошибка? Кроме того, Плутон настолько Голый, что я не могу найти для него команд. Есть ли где-нибудь палитра команд, чтобы я мог выполнить команду versioninfo? Эта команда дает мне только версию Джулии, а не версию Плутона.
Ответ №1:
Трудно быть уверенным, так как, конечно, это одна из тех проблем, которую трудно сделать воспроизводимой, но я думаю, что, возможно, происходит то, что вы находитесь на Плутоне 0.15, который автоматически создает воспроизводимую среду для каждого ноутбука, оставляя вашу глобальную среду пакетов незатронутой операциями с пакетами.
Вам нужно убедиться, что вы обновляете Pluto в любой среде, из которой вы запускаете ноутбук, т. Е. Предполагая, что вы запускаете Pluto из своей глобальной среды (поэтому вы просто запускаете julia
терминал, а затем делаете это напрямую using Pluto; Pluto.run()
), убедитесь, что вы делаете ] up
это в этой глобальной среде, прежде чем запускать Pluto. Проверьте ] st
также перед запуском Pluto, чтобы узнать, на какой версии вы находитесь.
Просто чтобы привести полный пример, вот моя глобальная среда 1.6, в которой есть только Плутон:
(@v1.6) pkg> st
Status `~/.julia/environments/v1.6/Project.toml`
[c3e4b0f8] Pluto v0.15.1
Затем я начинаю новую записную книжку:
julia> using Pluto
julia> Pluto.run()
Opening http://localhost:1234/?secret=fqgaVM5N in your default browser... ~ have fun!
Press Ctrl C in this terminal to stop Pluto
Теперь, если я хочу знать версии пакетов пакетов, установленных в среде моего ноутбука, я могу сделать:
который выдает следующий вывод в терминале, с которого я запустил Pluto:
Resolving package versions...
Updating `/tmp/jl_nvrbqO/Project.toml`
[44cfe95a] Pkg
Updating `/tmp/jl_nvrbqO/Manifest.toml`
[0dad84c5] ArgTools
[56f22d72] Artifacts
(...)
Status `/tmp/jl_nvrbqO/Project.toml`
[44cfe95a] Pkg
Первый бит здесь (перед тем (...)
, что представляет собой кучу дополнительных зависимостей, которые я опустил здесь для краткости) является результатом using Pkg
в ячейке ноутбука — Плутон добавляет стандартную библиотеку Pkg
в Project.toml
файл среды ноутбука и соответствующие зависимости в Manifest.toml
. Обратите внимание , что путь моей среды /tmp/jl_nvrbqO/Project.toml
, который отличается от ~/.julia/environments/v1.6/Project.toml
пути, с которого я начал Плутон (у них такие же имена, как у Плутона, я полагаю, использует ту же Pkg
функциональность для создания временной среды для ноутбука).
Это означает, что если бы я сейчас добавил Плутон в эту среду и обновил его там, это не повлияло бы на среду, из которой я фактически запустил Плутон, поэтому в следующий раз, когда я начну Плутон из той же глобальной среды, у него будет та же (не обновленная) версия. Поэтому ключ к тому , чтобы не получить предупреждение, заключается в том, чтобы делать ]up
это в @v1.6
среде, из которой я на самом деле делаю using Pluto; Pluto.run()
, а не из самой записной книжки.
Надеюсь, в этом есть смысл!
Комментарии:
1. Я даже попробовал старый удалить и переустановить ] > удалить Плутон >> добавить Плутон, И у меня все еще есть 14.7. Я в тупике.
2. Как я уже сказал на Дискурсе, каковы результаты
Pkg.status()
? Вероятно, вы только что установили все пакеты в среду по умолчанию, и теперь некоторая несовместимость препятствует обновлению.