Моя цель - создать скрипт python, который перебирает ячейки документа excel. Это мой скрипт python под названием reader.py
, и он работает отлично.Ошибка при создании exe с py2exe и скриптом, импортирующим xlrd
import xlrd
import os
exceldoc = raw_input("Enter the path to the doc [C:\\folder\\file.xlsx]: ")
wb = xlrd.open_workbook(exceldoc,'rb')
.... some code....
Проблема Я сталкиваюсь пытаюсь использовать py2exe, чтобы создать исполняемый файл, так этот сценарий может быть использован в других местах.
Вот мой setup.py
файл:
from distutils.core import setup
import py2exe
import sys
from glob import glob
setup(name='Excel Document Checker',console=['reader.py'])
я запускаю следующую команду: python setup.py py2exe
Это, как представляется, работать нормально; он создает dist
папку, в которой мой reader.exe
файл, но ближе к концу команды я получаю следующее:
The following modules appear to be missing
['cElementTree', 'elementtree.ElementTree']
Я некоторые функции поиска в Интернете, и попытался рекомендации здесь Re: Error: Element Tree not found, это изменение моего setup.py
файла:
from distutils.core import setup
import py2exe
import sys
from glob import glob
options={
"py2exe":{"unbuffered": True,"optimize": 2,
'includes':['xml.etree.ElementPath', 'xml.etree.ElementTree', 'xml.etree.cElementTree'],
"packages": ["elementtree", "xml"]}}
setup(name='Excel Document Checker',options = options,console=['reader.py'])
Сейчас я получаю сообщение об ошибке: ImportError: No module named elementtree
Я вроде в тупике здесь. Любая помощь или руководство очень ценят.
Просто некоторая информация. Я запускаю Python 2.6 на 32-битной системе.
как раз в стороне, у меня было много удачи с pyinstaller для создания исполняемых файлов Windows ... –
Установили ли вы стороннюю версию etree (которая обычно более новая, чем в stdlib, поэтому некоторые модули/программы пытаются импортировать ее, если это возможно)? Я считаю, что он называется 'elementtree' ([пакет, в который он входит] (https://pypi.python.org/pypi/elementtree/) определенно есть), в отличие от' xml.etree' stdlib. – abarnert
Также, пожалуйста, покажите нам всю трассировку, а не только строку ошибки. И скажите нам, когда вы это сделаете, построив bdist? установка? запуск установленной версии? – abarnert