Ошибка Unicode при запуске теста Flake8 с TOX

Я новичок в Tox, и я хочу настроить его для запуска теста flake8 в моем проекте, но я продолжаю получать ошибку Unicode, когда пытаюсь запустить tox.

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 76: ordinal not in range(128)

Это взгляд на мой файл tox.ini:

[tox]
envlist = flake8

[testenv:flake8]
basepython = python2
skip_install = true
deps =
    flake8
commands =
    flake8 -v

# Flake8 Configuration
[flake8]
# Ignore some flake8-docstrings errors
# NOTE(sigmavirus24): While we're still using flake8 2.x, this ignore line
# defaults to selecting all other errors so we do not need select=E,F,W,I,D
# Once Flake8 3.0 is released and in a good state, we can use both and it will
# work well \o/
ignore = D203, E226, E302, E41
exclude =
    .tox,
    .git,
    __pycache__,
    build,
    dist,
    *.pyc,
    *.egg-info,
    .cache,
    .eggs
max-complexity = 10
import-order-style = google
application-import-names = flake8

person proton    schedule 13.04.2017    source источник
comment
что выводит echo $LANG из терминала? Какую версию tox вы используете?   -  person Ravi Kumar    schedule 13.04.2017
comment
@RaviKumar Результат echo $LANG пуст. Использую Tox 2.7.0   -  person proton    schedule 13.04.2017
comment
Можете ли вы протестировать после записи export LANG=en_US.UTF-8 в терминале?   -  person Ravi Kumar    schedule 13.04.2017
comment
Привет, @RaviKumar, это работает. Спасибо   -  person proton    schedule 13.04.2017


Ответы (1)


Tox считывает переменные среды, чтобы получить информацию о кодировке для вашего языка.

Вы не можете установить его в терминале. (Напишите в файл .bashrc, чтобы сделать его постоянным)

export LANG=en_US.UTF-8

или передайте его в файл tox.ini

setenv = LANG=en_US.UTF-8
person Ravi Kumar    schedule 13.04.2017