Получение IOError при запуске gettext.py только на компьютере разработчика - PullRequest
0 голосов
/ 26 июня 2019

При запуске приложения IronPython, вызываемого приложением .NET на машинах разработчика, мы получаем ошибку IOError от IronPython. Отслеживая ошибку, мы видим, что она исходит из gettext.py в функции перевода. Похоже, что это связано с переменной _default_localedir, которая показывает это:

Приложение отлично работает на наших тестовых и производственных серверах, поэтому кажется, что это проблема конфигурации.

Мы попытались установить для переменной среды PYTHONPATH значение c: \ program files \ IronPython 27, куда было загружено программное обеспечение IronPython, но это не имело значения.

def translation(domain, localedir=None, languages=None,
                class_=None, fallback=False, codeset=None):
    if class_ is None:
        class_ = GNUTranslations
    mofiles = find(domain, localedir, languages, all=1)
    if not mofiles:
        if fallback:
            return NullTranslations()
        raise IOError(ENOENT, 'No translation file found for domain', domain)
    # Avoid opening, reading, and parsing the .mo file after it's been done
    # once.
    result = None
    for mofile in mofiles:
        key = (class_, os.path.abspath(mofile))
        t = _translations.get(key)
        if t is None:
            with open(mofile, 'rb') as fp:
                t = _translations.setdefault(key, class_(fp))
        # Copy the translation object to allow setting fallbacks and
        # output charset. All other instance data is shared with the
        # cached object.
        t = copy.copy(t)
        if codeset:
            t.set_output_charset(codeset)
        if result is None:
            result = t
        else:
            result.add_fallback(t)
    return result

при просмотре результата показывает ноль.

Мы не внесли никаких изменений в gettext.py или любой другой стандартный код Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...