我的目标是创建一个python脚本,在excel文档的单元格上循环。这是我的python脚本reader.py
,它工作得很好。在
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
文件:
我运行以下命令: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
我有点陷入了僵局。非常感谢任何帮助或指导。在
只是一些信息-我在32位系统上运行Python2.6。在
您明确告诉
setup.py
依赖于名为elementtree
的包:stdlib中没有这样的包。有一个
xml.etree
,但显然这是同一个名字。在您发现的示例显然是为安装了第三方软件包^{} 的人设计的,如果您需要在python2.6版本
xml.etree
之后添加特性,或者需要使用python1.5-2.4,但如果您只想使用python2.6的版本,则不需要这样做。(不管怎样,如果您需要第三方软件包,那么您必须安装它,否则它显然无法工作。)所以,不要这样做,错误就会消失。在
另外,如果您的代码或您导入的代码(例如,} 所说,在使用它之前,您还必须
xlrd
)正在使用xml.etree.cElementTree
,那么,正如^{import xml.etree.ElementTree
。(您可能还需要手动将其指定为依赖项。)您可能不想更改正在使用的所有第三方模块…但我相信在导入任何第三方模块之前确保{}可以正常工作。在
相关问题 更多 >
编程相关推荐