gpt4 book ai didi

dvc - 在 dvc 运行的命令部分中扩展环境变量

转载 作者:行者123 更新时间:2023-12-03 03:47:58 25 4
gpt4 key购买 nike

摘要:我尝试使用 dvc-run 定义 dvc 步骤,其中命令取决于某些环境变量(例如 $HOME)。问题是,当我在机器 A 上定义步骤时,变量在存储在 .dvc 文件中时会扩展。在这种情况下,不可能在机器 B 上重现该步骤。我是否遇到了 dvc 的限制?如果情况并非如此,正确的方法是什么?

更多详细信息:我在尝试定义命令为 docker run 的步骤时遇到了问题。说:

  • 在机器 A myrepo 上位于 /Users/user/myrepo
  • 在机器 B 上,可以在 /home/ubuntu/myrepo 中找到它。

此外,假设我有一个脚本 myrepo/script.R,它处理可在 myrepo/data/mydata.txt 中找到的数据文件。最后,假设我的步骤命令类似于:

docker run -v $HOME/myrepo/:/prj/ my_docker_image /prj/script.R /prj/data/mydata.txt

如果我正在运行dvc run -f step.dvc -d ... -d ... [cmd],其中cmddocker 执行上面的操作,那么在 step.dvc 中,环境变量 $HOME 将被扩展。在这种情况下,该步骤将在机器 B 上中断。

最佳答案

来自docs :

Use single quotes ' instead of " to wrap the command if there are environment variables in it, that you want to be evaluated dynamically. E.g. dvc run -d script.sh './myscript.sh $MYENVVAR'

关于dvc - 在 dvc 运行的命令部分中扩展环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57132106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com