Было некоторое обсуждение достоинств или demerits/зла использования sys.setdefaultencoding(...) в python 2.x Я использую PyDev, и я хочу иметь значение по умолчанию ' из-за "поведения python" (US-ASCII как стандартная (не) кодировка), поскольку я считаю, что это безопаснее (мне не нравится подход site_customize.py), даже если это более трудоемко.
Когда я использую PyDev (особенно для запуска unittests), он по умолчанию вызывает sys.setdefaultencoding('UTF-8'). Другие ответы рекомендовали изменить настройку кодировки на "US-ASCII" на каждой вкладке "Общие конфигурации".
Я хотел бы изменить default для всех конфигураций запуска в "US-ASCII" через pydev (на рабочее пространство) или, по крайней мере, глобально для одного интерпретатора Python. Есть ли способ сделать это?
Изучив реализацию: Pydev использует переменную окружения PYDEV_CONSOLE_ENCODING для получения кодировки (это находится в файле site_customize.py в плагине org.python.pydev). Однако это похоже на настройку диалогового окна run в диалоговом окне Run configurations. По умолчанию указано "inherited - UTF-8", но я не нашел нигде, чтобы изменить это в настройках pydev. Я попытался установить переменную окружения PYDEV_CONSOLE_ENCODING в разных местах, но это не дошло до site_customize.py(вместо этого он считывает значение из параметра Encoding на вкладке диалога).