如何解决Errno 2] 没有这样的文件或目录:'$(Agent.ToolsDirectory)/azcopy/azcopy'
我目前正在 Azure 管道中运行 Python 脚本。
python脚本运行subprocess.run([cmd],capture_output=True),cmd为
格式的azcopy命令$(Agent.ToolsDirectory)/azcopy/azcopy 复制源目标{token}
目前我已经安装了 azcopy
- task: Bash@3
displayName: Install azcopy
inputs:
targettype: 'inline'
script: |
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
mkdir $(Agent.ToolsDirectory)/azcopy
wget -O $(Agent.ToolsDirectory)/azcopy/azcopy_v10.tar.gz https://aka.ms/downloadazcopy-v10-linux
tar -xf $(Agent.ToolsDirectory)/azcopy/azcopy_v10.tar.gz -C $(Agent.ToolsDirectory)/azcopy --strip-components=1
然后我有另一个运行 python 文件的 bash 脚本任务,但我收到了 [Errno 2] No such file or directory: '$(Agent.ToolsDirectory)/azcopy/azcopy'
$(Agent.ToolsDirectory)/azcopy/azcopy 当我在内联脚本中运行它时被识别,但当我通过 python 脚本运行命令时它不会。
解决方法
根据我的经验,可能的原因是使用$(Agent.ToolsDirectory)/azcopy/azcopy
时python脚本无法知道真实路径。您可以尝试给出没有任何变量的绝对路径或在 python 脚本中设置变量。当然,您需要确保所有任务都在同一个代理中运行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。