cx_freeze, mpl_toolkits/basemap/ как включить папку данных в сборку library.zip

Я много борюсь, пытаясь создать .exe для моего графического интерфейса, изначально закодированного с помощью opensuse. Я пытаюсь сделать .exe для Windows (под XP). cx_freeze, кажется, работает лучше для моего случая. Папка сборки создана правильно, но когда я пытаюсь запустить .exe, у меня возникает следующая ошибка:

«Каталог данных proj не найден. Ожидается в C:\Python\build\exe.win32-2.7\library.zip\mpl_toolkits\basemap\data»

Итак, вы знаете, как я могу сделать свой setup.py, чтобы скопировать папку mpl_toolkits\basemap\data в library.zip?


person user3046026    schedule 26.03.2014    source источник
comment
Можем ли мы увидеть ваш файл setup.py?   -  person Anthony    schedule 26.03.2014
comment
Почему ХР? Я предлагаю вместо этого вернуться к Windows 95.   -  person    schedule 26.03.2014
comment
Есть zip_includes вариантов (документы), но я не знаю, может ли соответствующий код загрузить его из zip-файла. Возможно, вам придется использовать include_files и указать его в нужном месте (документы по использованию файлов данных).   -  person Thomas K    schedule 27.03.2014


Ответы (1)


Здесь я разместил свое рабочее решение для той же проблемы: https://stackoverflow.com/a/26519937/2741329

Мое исправление требует 2 изменений: - Добавление файлов для включения в сценарий установки cx_freeze - Добавление переменной среды ОС в пользовательский сценарий

Аналогичная проблема с тем же исправлением также была рассмотрена здесь просто добавив в установочный файл список кортежей для include_files как [("C:\\Python31\\Lib\\site-packages\\PyQt4\\mpl-data", "mpl-data")] Этого недостаточно для Basemap, так как cx_freeze по умолчанию помещает свои скрипты в заархивированный файл.

person gmas80    schedule 23.10.2014
comment
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится. - person J0e3gan; 23.10.2014
comment
@j0e3gan: добавлено больше деталей - person gmas80; 23.10.2014