在Azure DevOps中安装运行Databricks CLI遇命令未找到问题求助
Azure DevOps流水线安装databricks-cli后命令无法找到的解决办法
databricks-cli是用于与Databricks API通信的Python模块,理论上可通过pip在Azure DevOps流水线中直接安装。用户的初始YAML流水线脚本如下:
- stage: Test jobs: - job: InstallRequirements steps: - script: | python -m pip install --upgrade pip setuptools wheel pip install databricks-cli - script: databricks --version
执行第二个脚本时出现错误:
/_w/_temp/eeb8461a-d19b-4013-973b-0c1787ab17a3.sh: line 1: databricks: command not found
尝试使用python -m databricks --version调用模块,问题依然存在。
问题根源
Azure DevOps代理环境中,pip默认安装的可执行文件路径未被加入系统环境变量PATH,或安装时使用了与后续调用不一致的Python环境。
解决方法
方法1:将用户安装路径加入PATH
使用--user参数将databricks-cli安装到当前用户目录,再把该目录的bin路径加入系统PATH:
- stage: Test jobs: - job: InstallRequirements steps: - script: | python -m pip install --upgrade pip setuptools wheel pip install --user databricks-cli # 将用户本地bin目录加入PATH echo "##vso[task.setvariable variable=PATH]${PATH}:${HOME}/.local/bin" - script: databricks --version
方法2:用Python绝对路径调用模块
先确认当前使用的Python路径,再用该路径直接调用databricks模块:
- stage: Test jobs: - job: InstallRequirements steps: - script: | python -m pip install --upgrade pip setuptools wheel pip install databricks-cli # 用当前Python的绝对路径调用模块 $(which python) -m databricks --version
方法3:使用Azure DevOps Python任务管理环境
通过UsePythonVersion任务指定Python版本并确保其路径加入PATH,避免环境不一致问题:
- stage: Test jobs: - job: InstallRequirements steps: - task: UsePythonVersion@0 inputs: versionSpec: '3.x' # 指定你的Python版本,比如3.9 addToPath: true - script: | python -m pip install --upgrade pip setuptools wheel pip install databricks-cli - script: databricks --version
内容的提问来源于stack exchange,提问作者Joost Döbken
相关产品推荐
相关产品推荐

