6

セクションの下の tox.ini にコマンドを配置する前に、コマンドを確認しようとしています[testenv] commands =

カスタムコマンドを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.ini に配置せずに、tox で作成された仮想環境で python コマンド/スクリプトを実行するにはどうすればよいですか?

4

2 に答える 2

7

コマンド指定子でデフォルト引数を使用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自分のパッケージをvirtualenvにインストールしてipythonシェルを呼び出していました。

于 2016-02-09T08:42:18.840 に答える