2015-03-03 14 views
1

Я успешно использовал xlwt для вывода файла excel в конце моего скрипта, но когда этот скрипт преобразуется в автономную программу (используя py2app), это excel больше не производится , Другие импортированные пакеты (Tkinter для графического интерфейса) работают нормально, и я не могу найти место, где будет показана эта же проблема. (Mac OS 10.9.5, python 2.7.5: предварительно установленная версия для Mac) (xlwt присутствует в /build/bdist.macosx-10.9-intel/python2.7-standalone/app/site-packages/)Как работать с xlwt в build py2app

проблема изолируется очень маленький скрипт, который выводит один файл Excel, с одной заполненной ячейки:

def export_xcl(): 
    import xlwt 

    wb = xlwt.Workbook()#initialize excel sheet 
    ws = wb.add_sheet('Sheet1') 

    text_cells=xlwt.easyxf('font: name Times New Roman') 

    ws.write(0,0, 'jaja',text_cells) 

    print ('voor het saven') 

    wb.save('testx.xls') 

    print ('na het saven') 

if __name__ == '__main__': 
    export_xcl() 

Этот скрипт работает прекрасно, когда обычно запускается.

Исполняемый файл, однако, нет. Файл setup.py используется py2app является следующее:

from setuptools import setup 

APP = ['testx.py'] 
DATA_FILES = [] 
OPTIONS = {'argv_emulation': True} 

setup(
app=APP, 
data_files=DATA_FILES, 
options={'py2app': OPTIONS}, 
setup_requires=['py2app'], 
) 

Теперь, выполнив следующую команду: $ питона setup.py py2app производит самостоятельную программу, которая при открытии не производит лист первенствовать

Я читал на разных сайтах, что люди включили скрипт xlwt в свою сборку без проблем, поэтому я надеюсь, что кто-то может указать мне в правильном направлении.

+0

Есть ли папка с именем 'xlsxwriter' в'% PythonDir% \ Lib \ site-packages'? – Jkdc

+0

это не похоже (/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib). Является ли это правой папкой, в которой я ищу? – Matthijs

+0

Я имел в виду 'xlwt', а не' xlsxwriter' – Jkdc

ответ

0

В конце концов, проблема заключается в скрытых папках за MyApplication.app. Когда следующая команда Дана:

wb.save('testx.xls 

Файл Excel будет сохранен под MyApplication.app/Contents/Resources/testx.xls. Чтобы сохранить в том же каталоге, что и файл запуска используйте следующую команду:

wb.save('../../../testx.xls') 

Когда явное расположение дается, эта проблема не возникает.

 Смежные вопросы

  • Нет связанных вопросов^_^