You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下tox安装外部库至WSL路径而非自身环境的问题排查

问题原因

在Windows环境下,你用bash -c执行安装命令时,实际调用的是WSL(Windows子系统Linux)的bash环境,这个环境里的pip默认指向WSL系统内的Python实例,完全绕开了tox在Windows本地创建的虚拟环境,所以包才会装到WSL的目录里。

修复方案

方案1:直接使用Windows原生命令(推荐)

去掉bash -c包装,直接用Windows的命令执行安装,tox会自动使用当前虚拟环境里的pip:
修改tox.ini的[testenv:docs]部分的commands:

commands =
    cd ../subfolder/package_name && pip install .

方案2:保留bash但指定tox虚拟环境的Python路径

如果必须用bash执行复杂逻辑,要明确调用tox虚拟环境的Python(通过tox提供的{envpython}变量),避免用WSL的Python:
修改commands为:

commands =
    bash -c "cd ../subfolder/package_name && '{envpython}' -m pip install ."

同时记得把bash加入allowlist_externals:

[tox]
allowlist_externals =
    bash
    cd

额外检查

  • 确认Windows系统的PATH里,WSL的bash.exe路径没有排在Python虚拟环境路径前面(不过核心问题还是命令调用的环境)
  • 确保tox创建的虚拟环境是Windows本地的,而非WSL下的(你在虚拟环境触发tox的话,这点应该没问题)

内容的提问来源于stack exchange,提问作者QbS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 12:27:51