Как удалить *.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
Другие вопросы по тегам