2016-05-18 4 views
0

Я только начал использовать pytest с pytest-xdist, чтобы выполнить тесты на удаленных хостах.Как удалить * .pyc-файлы, созданные pytest

удаленный хост (Windows) используется модуль socketserver.py найденного на https://pytest.org/latest/xdist.html

моей проблемы в том, что похоже, каждый раз, когда я выполнить тест, то 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 
+0

Хм, попробуйте запустить Python с помощью '-B'. Источник: [https://bitbucket.org/pytest-dev/pytest/issues/200/disable-the-creation-of-the-__pycache__#comment-2114656](https://bitbucket.org/pytest-dev/ pytest/issues/200/disable-the-creation-of-the -__ pycache __ # comment-2114656) –

+0

Это ничего не изменило, все еще создавая кэш –

ответ

0

@bjarneMichelsen

хорошо, есть еще варианты, чтобы попробовать ... в окнах вы можете попробовать установить это прямо на источник, например ..

import sys 

sys.dont_write_bytecode = True 

теперь для опции -B .. Вы можете попробовать экспортировать переменную PYTHONDONTWRITEBYTECODE = 1 вместо этого установить питона флаг

это описать на [питона Docs] ( https://docs.python.org/2/using/cmdline.html#envvar-PYTHONDONTWRITEBYTECODE)

0

Try экспортировать PYTHONFLAGS переменную:

export PYTHONFLAGS=-B 
+0

Я не могу сделать это в окнах? Тем не менее, попробовал с моим клиентом linux, без везения. –

+0

ну, есть еще одна возможность попробовать ... –

Смежные вопросы