Как удалить *.pyc файлы, созданные pytest
Я только начал использовать pytest с pytest-xdist, чтобы выполнять тесты на удаленных хостах.
удаленный хост (windows) использует модуль socketserver.py, который находится по https://pytest.org/latest/xdist.html
моя проблема заключается в том, что каждый раз, когда я выполняю тест, сервер сокетов создает новый каталог 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 ответа
@bjarneMichelsen
ну, есть другие варианты, чтобы попробовать... в Windows вы можете попробовать установить это непосредственно на источник, как..
import sys
sys.dont_write_bytecode = True
теперь для опции -B вы можете попробовать экспортировать переменную PYTHONDONTWRITEBYTECODE=1, вместо этого установить флаг python
это описание в [документах python] ( https://docs.python.org/2/using/cmdline.html)
Попробуйте экспортировать переменную PYTHONFLAGS:
export PYTHONFLAGS=-B