如何删除pytest

时间:2016-05-18 11:34:59

标签: python python-2.7 pytest xdist

我刚开始使用pytest和pytest-xdist在远程主机上执行测试。

远程主机(windows)正在使用https://pytest.org/latest/xdist.html

上的socketserver.py模块

我的问题是,似乎每次执行测试时,socketserver都会在之前的 pyexecnetcache 目录中创建一个新的 pyexecnetcache 目录,并失败,并显示以下错误消息:

=================================== ERRORS ====================================
_______________________ ERROR collecting test_sample.py _______________________
import file mismatch:
imported module 'test_sample' has this __file__ attribute:
  C:\pyexecnetcache\test_sample.py
which is not the same as the test file we want to collect:
  C:\pyexecnetcache\pyexecnetcache\test_sample.py
HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test
 file modules

测试由以下人员执行:

py.test -d --tx socket=myhost:8888 --rsyncdir test_sample.py test_sample.py

每次运行后如何删除缓存?

我尝试将以下内容添加到socketserver.py:

import sys
sys.dont_write_bytecode = True

2 个答案:

答案 0 :(得分:0)

尝试导出PYTHONFLAGS变量:

export PYTHONFLAGS=-B

答案 1 :(得分:0)

@bjarneMichelsen

嗯,还有另外一种选择... 在Windows中你可以尝试在源上设置这个像..

 import sys

 sys.dont_write_bytecode = True

现在,对于-B选项..你可以尝试导出变量PYTHONDONTWRITEBYTECODE = 1而不是设置一个python标志

在[python docs]上描述( https://docs.python.org/2/using/cmdline.html#envvar-PYTHONDONTWRITEBYTECODE