我最近在Windows7上安装了Python3.7.4和pytest 5.0.1。
在第一次尝试运行(在windows命令提示符下)时,一个简单的pytest命令如下:
pytest --version我得到了一个长时间的回溯,错误如下:Traceback (most recent call last):
File "c:\users\xxx\appdata\local\programs\python\python37\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\users\xxx\appdata\local\programs\python\python37\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\xxx\AppData\Local\Programs\Python\Python37\Scripts\pytest.exe\__main__.py", line 9, in
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\_pytest\config\__init__.py", line 55, in main
config = _prepareconfig(args, plugins)
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\_pytest\config\__init__.py", line 200, in _prepareconfig
pluginmanager=pluginmanager, args=args
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\pluggy\hooks.py", line 289, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\pluggy\manager.py", line 87, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\pluggy\manager.py", line 81, in
firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\pluggy\callers.py", line 203, in _multicall
gen.send(outcome)
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\_pytest\helpconfig.py", line 89, in pytest_cmdline_parse
config = outcome.get_result()
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\pluggy\callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\pluggy\callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\_pytest\config\__init__.py", line 661, in pytest_cmdline_parse
self.parse(args)
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\_pytest\config\__init__.py", line 869, in parse
self._preparse(args, addopts=addopts)
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\_pytest\config\__init__.py", line 825, in _preparse
early_config=self, args=args, parser=self._parser
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\pluggy\hooks.py", line 289, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\pluggy\manager.py", line 87, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\pluggy\manager.py", line 81, in
firstresult=hook.spec.opts.get("firstresult") if hook.spec else False, File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\pluggy\callers.py", line 208, in _multicall
return outcome.get_result()
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\pluggy\callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\pluggy\callers.py", line 182, in _multicall
next(gen) # first yield
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\_pytest\capture.py", line 42, in pytest_load_initial_conftests
_py36_windowsconsoleio_workaround(sys.stdout)
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\_pytest\capture.py", line 815, in _py36_windowsconsoleio_workaround
sys.stdin = _reopen_stdio(sys.stdin, "rb")
File "c:\users\xxx\appdata\local\programs\python\python37\lib\site-packages\_pytest\capture.py", line 808, in _reopen_stdio
open(os.dup(f.fileno()), mode, buffering), OSError: [WinError 87] The parameter is incorrect
有什么想法吗?
谢谢