我创造了这个tox.ini
文件:
[tox]
envlist = py37
[testenv]
commands = /bin/sh nosetests config_test.test_config_sdk:test_bucket_existing
它抛出这个错误:
$ tox
GLOB sdist-make: /Users/me/git/config-test/setup.py
py37 create: /Users/me/git/config-test/.tox/py37
py37 inst: /Users/me/git/config-test/.tox/.tmp/package/1/sdk-config-1.0.0.zip
py37 installed: sdk-config==1.0.0,config-test==1.0.0
py37 run-test-pre: PYTHONHASHSEED='2567467531'
py37 runtests: commands[0] | /bin/sh nosetests config_test.test_config_sdk:test_bucket_existing
/Users/me/git/config-test/venv/bin/nosetests: line 3: import: command not found
/Users/me/git/config-test/venv/bin/nosetests: line 4: import: command not found
from: can't read /var/mail/nose
/Users/me/git/config-test/venv/bin/nosetests: nosetests: line 9: syntax error near unexpected token `('
/Users/me/git/config-test/venv/bin/nosetests: nosetests: line 9: ` sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])'
ERROR: InvocationError for command '/bin/sh nosetests config_test.test_config_sdk:test_bucket_existing' (exited with code 2)
__________________________________________________________________________ summary ___________________________________________________________________________
ERROR: py37: commands failed
当我在终端上运行它,虽然nosetests config_test.test_config_sdk:test_bucket_existing
工作。
难道我做错了什么事,或者这是命令不可能在TOX?
这是您注册tox
运行命令:
/bin/sh nosetests config_test.test_config_sdk:test_bucket_existing
在这里,nosetests
被调用的shell脚本;但是这是误导。
nosetests
是在你的PATH
一个可执行的Python脚本,应直接执行。
注册的命令:
nosetests config_test.test_config_sdk:test_bucket_existing
解决了错误。