如何在GitHub Actions中运行tox?解决命令未找到问题
在GitHub Actions中运行tox的正确方式
嘿,这个问题我之前也碰到过!原因很简单:你用pip install tox安装的tox,默认是放在用户本地的bin目录里(比如Ubuntu上的~/.local/bin),而这个目录并没有被加入GitHub Actions的系统PATH环境变量中,所以shell找不到tox命令。
给你几个简单的解决办法,按推荐程度排序:
方法1:直接用Python模块方式运行(最简单)
不用纠结PATH的问题,直接通过Python调用tox模块,这样不管tox装在哪个路径都能运行。修改你的工作流中Run tox的步骤:
- name: Run tox run: python -m tox
这个方法不需要改安装步骤,直接替换运行命令就行,最省心。
方法2:用pipx安装tox(更规范的工具管理方式)
pipx专门用来安装和管理Python命令行工具,它会自动把工具的可执行文件加到PATH里,避免PATH问题。调整你的工作流:
- name: Install pipx and tox run: | python -m pip install --user pipx python -m pipx ensurepath python -m pipx install tox - name: Run tox run: tox
方法3:手动把pip安装路径加到PATH里
如果你坚持用普通pip安装,可以手动将用户本地bin目录添加到GitHub Actions的PATH中:
- name: Install tox run: pip install --user tox - name: Add user bin directory to PATH run: echo "$HOME/.local/bin" >> $GITHUB_PATH - name: Run tox run: tox
这里的$GITHUB_PATH是GitHub Actions提供的特殊变量,修改它会自动更新后续步骤的PATH环境变量。
我个人最推荐方法1,改动最小,马上就能解决问题。你可以试试!
内容的提问来源于stack exchange,提问作者Erel Segal-Halevi
相关产品推荐
相关产品推荐

