cx_freeze, mpl_toolkits/basemap/ как да включите папката с данни в библиотеката за изграждане.zip

Много се боря, опитвайки се да създам .exe за моя Gui, първоначално кодиран с opensuse. Опитвам се да направя .exe за windows (под XP). cx_freeze изглежда работи по-добре за моя случай. Папката за изграждане е създадена правилно, но когато се опитам да стартирам .exe, имам следната грешка:

"продж директорията с данни не е намерена. Очаквам я в 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
Защо XP? Вместо това предлагам да се върнете към 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 - Добавяне на променлива на средата на OS в потребителския скрипт

Подобен проблем със същата корекция също беше адресиран тук като просто добави в инсталационния файл списък с кортежи за 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