如何删除 pytest 创建的 *.pyc 文件
how to remove *.pyc files created by pytest
我刚开始使用 pytest 和 pytest-xdist,在远程主机上执行测试。
远程主机 (windows) 正在使用在 https://pytest.org/latest/xdist.html
上找到的 socketserver.py 模块
我的问题是,似乎每次我执行测试时,socketserver 都会在之前的 pyexecnetcache[=28= 中创建一个新的 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
尝试导出 PYTHONFLAGS 变量:
export PYTHONFLAGS=-B
@bjarneMichelsen
好吧,还有另一种选择可以尝试...
在 windows 你可以尝试直接在源上设置它,比如..
import sys
sys.dont_write_bytecode = True
现在,对于 -B 选项。您可以尝试导出变量 PYTHONDONTWRITEBYTECODE=1 而不是设置 python 标志
[python 文档中有描述](
https://docs.python.org/2/using/cmdline.html#envvar-PYTHONDONTWRITEBYTECODE)
我刚开始使用 pytest 和 pytest-xdist,在远程主机上执行测试。
远程主机 (windows) 正在使用在 https://pytest.org/latest/xdist.html
上找到的 socketserver.py 模块我的问题是,似乎每次我执行测试时,socketserver 都会在之前的 pyexecnetcache[=28= 中创建一个新的 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
尝试导出 PYTHONFLAGS 变量:
export PYTHONFLAGS=-B
@bjarneMichelsen
好吧,还有另一种选择可以尝试... 在 windows 你可以尝试直接在源上设置它,比如..
import sys
sys.dont_write_bytecode = True
现在,对于 -B 选项。您可以尝试导出变量 PYTHONDONTWRITEBYTECODE=1 而不是设置 python 标志
[python 文档中有描述]( https://docs.python.org/2/using/cmdline.html#envvar-PYTHONDONTWRITEBYTECODE)