gpt4 book ai didi

shell - 如何使用 tox 运行自定义命令而不在 tox.ini 中指定它?

转载 作者:行者123 更新时间:2023-12-03 03:28:59 25 4
gpt4 key购买 nike

我试图在将命令放入 tox.ini 的 [testenv] Commands = 部分之前验证命令。

是否可以通过将自定义命令作为 shell 参数传递给 tox?类似的东西

tox -e <env_to_run_script_in> <command_which_we_want_to_run_in_specified_env>

我尝试了以下方法,但都不起作用。

tox -e py34 args py.test
tox -e py34 -- py.test
tox args "py.test"

如何在 tox 创建的虚拟环境中运行 python 命令/脚本而不将它们放入 tox.ini 中?

最佳答案

通过使用posargs使用命令说明符中的默认参数,可以将任意命令行传递到底层 virtualenv 环境,同时在不传递参数时仍然运行测试。

使用 tox.ini 类似

[tox]
envlist = py27,py35,pypy,pypy3

[testenv]
passenv =
TERM
deps=
pytest
ipython
six
commands={posargs:py.test}

当不带参数调用tox时,它默认运行py.test,否则命令行上传递的参数将发送到指定的virtualenv。

在项目根目录中使用示例hello.py

import os
import sys
print(os.__file__)
print(sys.version)
print("Hello from env")

通过tox -e pypy python hello.py调用

tox -e pypy 使用参数启动 pypy virtualenv python hello.py

输出:

/Users/seanjensengrey/temp/.tox/pypy/lib-python/2.7/os.pyc
2.7.10 (5f8302b8bf9f53056e40426f10c72151564e5b19, Jan 20 2016, 04:41:02)
[PyPy 4.0.1 with GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)]
Hello from env

我使用 TERM="xterm-256color"tox -e pypy ipython 来调用 ipython shell,并将我的包安装在 virtualenv 中。

关于shell - 如何使用 tox 运行自定义命令而不在 tox.ini 中指定它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34202755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com