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

#python #macos #caching #matplotlib #pyinstaller

#python #macos #кэширование #matplotlib #pyinstaller

Вопрос:

Я запускаю 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.

Комментарии:

1. Вы получили какое-либо решение для этого?