Как проверить, что манифест проекта завершен в Юлии? - PullRequest
3 голосов
/ 23 сентября 2019

Я пытаюсь убедиться, что файл manifest.toml для моего проекта Julia завершен, чтобы результаты моего проекта могли быть воспроизведены кем угодно.Я знаю, что могу использовать Travis или любую другую чистую среду, но, если возможно, я ищу решение, основанное на Юлии.

Первоначально отправленный вопрос здесь .

1 Ответ

5 голосов
/ 23 сентября 2019
  1. Перейдите в папку проекта.

  2. export JULIA_LOAD_PATH=. (или set JULIA_LOAD_PATH=. в Windows)

  3. Запустите julia.

  4. ] instantiate проект

  5. Запустите код своего проекта (наиболее важны операторы using).

Таким образом, julia будет использовать исключительно пакеты (и версии), как указано в toml-файлах проекта.В частности, вы получите ошибки для каждого несуществующего пакета.

Background : переменная LOAD_PATH (называемая JULIA_LOAD_PATH за пределами Julia) задает стек путей, указывающихДжулии среды.По умолчанию он содержит три записи:

julia> LOAD_PATH
3-element Array{String,1}:
 "@"
 "@v#.#"
 "@stdlib"

, которые расширяют текущую активную среду (@), скажем, общую среду v.1.2 (@v#.#) и т. Д. (См. ? LOAD_PATH для более подробной информации).Если фрагмент кода пытается using или import пакета, Джулия будет искать его в файлах toml в этих каталогах по порядку (сверху вниз).Это означает, что обычно можно загрузить пакет X, который присутствует только в среде v.1.2, но не в текущем проекте (т. Е. Проект не является автономным).По приведенной выше процедуре мы удаляем эти пути из переменной LOAD_PATH и сохраняем только текущую среду проекта.

...