在 Travis virtualenv 中安装 pip

Jac*_*far 5 pip python-3.x travis-ci

我有一个带有 pytest 套件的 Python 3 项目,想在 Travis 上运行它。

我正在尝试编写一个test.sh既可以在开发人员机器上也可以在 Travis CI 上运行的脚本,它必须设置 virtualenv,安装包,运行 pytest,然后销毁 virtualenv。我不能使用 Tox,因为它不遵循我们正在使用的依赖链接。

脚本(简化)是:

python3 -m venv .venv
pip install -e . --process-dependency-links --allow-all-external
.venv/bin/pip install pytest
.venv/bin/pytest
rm -rf .venv
Run Code Online (Sandbox Code Playgroud)

在我的机器上它可以工作,但在 Travis 上这失败了,因为里面.venv/bin没有pip可执行文件,pip2或者pip3

我试图强制安装它,.venv/bin/python3 -m pip install --upgrade pip但仍然没有二进制文件。

运行python3 -m venv --help我看到有一个可选标志--without-pip可用,并且相同的帮助文本说pip is bootstrapped by default. 如何确保 pip 存在于 virtualenv 中?

编辑:一个可能的解决方案是使用python3 -m pip install pytest安装 pytest 包而不是pip直接作为命令调用