Pyinstaller: кэш шрифтов matplotlib изменяется на /var/folders в сгенерированном приложенииPython

Программы на Python
Anonymous
Pyinstaller: кэш шрифтов matplotlib изменяется на /var/folders в сгенерированном приложении

Сообщение Anonymous »

Я запускаю pyinstaller 3.3.dev0+gb78bfe5 (действующий на момент написания этой статьи) и вижу что-то странное: когда я запускаю версию своего приложения с одним каталогом, я получаю предупреждение о том, что matplotlib перестраивает кеш шрифтов , но не тогда, когда я запускаю приложение непосредственно в Python.

Выводя mpl.get_cachedir(), я вижу, что версия, созданная pyinstaller, видит каталог кэша в /var /folders/.... (базовое имя которого меняется при каждом запуске), а не в ~/.matplotlib. Очевидно, что кеш, путь которого меняется в каждом случае, не очень полезна для оптимизации...

Когда я запускаю приложение непосредственно в Python, каталогом кеша является ~/.matplotlib . Если я удалю кеш, при первом запуске приложения (напрямую через Python) я получу сообщение, а при последующих запусках его больше не будет, как и ожидалось.

Я увидите, что для TMPDIR (очевидно, автоматически) установлено значение /var/folders/9t/31_qw25565vdmzbtdsdlnh340000gn/T/, которое действительно является родительским для (постоянно меняющегося) каталога кэша. Что вызывает недоумение, так это то, почему matplotlib в одном случае использует это, а в другом — стандартный каталог кэша. Может ли сборка pyinstaller использовать другую версию matplotlib, или это проблема с env var? Или что-то еще, особенное для pyinstaller?

Кстати, я использую Mac OS 10.10.5 (Yosemite) и Python 2.7.11 через Anaconda.

Подробнее здесь: https://stackoverflow.com/questions/401 ... erated-app

Вернуться в «Python»