首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >py2exe PackageNotFoundError

py2exe PackageNotFoundError
EN

Stack Overflow用户
提问于 2015-06-23 23:46:23
回答 1查看 586关注 0票数 0

我目前正在尝试使用py2exe将一个Tkinter应用程序打包成一个.exe文件。打包工作得很好,直到某一点,程序才能正常工作。但是,当我调用某个函数时,运行.exe文件会记录以下错误:

代码语言:javascript
复制
Exception in Tkinter callback
Traceback (most recent call last):
  File "Tkinter.pyc", line 1532, in __call__
  File "/Users/Gordon/Gordon's Files/AutoFormatter/lib\formatterApp.py", line 58, in go
  File "formatter.pyc", line 72, in take
  File "docx\api.pyc", line 25, in Document
  File "docx\opc\package.pyc", line 116, in open
  File "docx\opc\pkgreader.pyc", line 32, in from_file
  File "docx\opc\phys_pkg.pyc", line 31, in __new__
PackageNotFoundError: Package not found at 'C:\Users\Gordon\Gordon's Files\AutoFormatter\dist\library.zip\docx\templates\default.docx'

在最初运行py2exe时,我检查了\docx\文件夹,发现py2exe实际上并没有复制\templates\文件夹。但是,在手动解压缩模板,在正确的位置添加\ library.zip \文件夹,然后手动重新压缩之后,我得到了相同的错误。

我的setup.py如下:

代码语言:javascript
复制
from distutils.core import setup
import py2exe

setup(
    windows=[{'script': 'AutoFormatter.py'}],
    options={
        'py2exe': 
        {
            'includes': ['lxml.etree', 'lxml._elementpath', 'gzip', 'docx'],
        }
    }
)

我使用Python2.7.8和py2exe 0.6.9在Windows7计算机上运行该程序。

EN

回答 1

Stack Overflow用户

发布于 2016-08-16 13:30:49

这可能太晚了,但我也遇到了同样的麻烦。我不知道python-docx是不是被编译成一个单独的可执行文件,但我还是找到了解决方案。

我用的是pyinstaller和python2.7,本质上是一样的。我希望您冻结在一个目录中,而不是一个文件中。如果你冻结到一个文件这将不起作用

下载this here(媒体链接)

把它放在

代码语言:javascript
复制
C:\Users\Gordon\Gordon's Files\AutoFormatter\dist\library.zip\docx\templates\default.docx

基本上,无论你的.exe在哪里。

希望这能起到作用

基于我在我自己的目录和docx模块中的搜索,当您创建文档时:

代码语言:javascript
复制
doc = Document()
doc.save('hello.docx')

它拉出一个模板供你使用,如果你不创建自己的模板,它将使用python-docx本身提供的默认模板。

不要引用我的话,但我相信python-docx在通过python执行default.docx模板时会在自己的目录中查找它。

由于我们编译了脚本,因此路径更改为.exe所在的目录,但是pyinstaller (或在您的示例中为py2exe)不会将模板包含在dist文件夹中,这将创建PackageNotFoundError

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31007484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档