我创建了这个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中不可能执行此命令?
答案 0 :(得分:1)
这是您为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
解决了错误。