Юлия: создайте пакет с необязательными зависимостями - PullRequest
2 голосов
/ 04 октября 2019

Я хочу создать числовой пакет, который также имеет дополнительную поддержку для визуализации. Для простоты, скажем, соответствующие зависимости NumPackage для тяжелой работы и VizPackage для дополнительной визуализации.

В Джулии, как я могу построить модуль, для которого требуется NumPackage в зависимости, но VizPackage только как необязательная зависимость, скажем, например, для тех пользователей, которые хотят запустить пример моделирования и визуализировать его?

Я видел Требуется пакет .jl , но не уверен, что это правильный инструмент для того, что я пытаюсь сделать.

Ответы [ 2 ]

3 голосов
/ 04 октября 2019

В настоящее время лучшим решением (2019-10-04) является использование Requires.jl. Тем не менее, существует ряд проблем с Requires.jl, поэтому есть планы по улучшению решения, см. https://github.com/JuliaLang/Pkg.jl/issues/1285. Надеюсь, он будет готов вовремя для Julia версии 1.4 или 1.5.

2 голосов
/ 04 октября 2019

Я не знаю, как добавить необязательные зависимости в пакет, но для конкретного случая наличия зависимости от пакета визуализации вы можете создать сюжетные рецепты . Чтобы иметь рецепты сюжета в вашем пакете, вам нужно зависеть только от RecipesBase.jl , который является очень минимальным пакетом. Если вы создадите рецепты для своих типов, вы сможете использовать Plots.jl для визуализации информации, содержащейся в ваших типах, без явной зависимости от Plots.jl в вашем пакете.

...