Плутон для Джулии продолжает хотеть обновить информацию, хотя я уже сделал это. Это ошибка?

#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() ? Вероятно, вы только что установили все пакеты в среду по умолчанию, и теперь некоторая несовместимость препятствует обновлению.