繁体   English   中英

py2exe特征GUI

[英]py2exe traits GUI

我正在尝试用py2exe打包程序。 它使用特征GUI。
将“ convert_image”函数中image.py中的import语句移出try块后,创建的exe在以下第二点失败:

1:dist \\ traitsui \\ ui_traits.py:从.image.image导入ImageLibrary
2:dist \\ traitsui \\ image \\ image.py:从traitsui.ui_traits导入HasBorder,HasMargin,Alignment

档案结构:

root
+-...
+-main.py
+-setup.py
+-dist
  +-...
  +-main.exe
  +-traitsui
    +-...
    +-ui_tratis.py
    +-image
      +-image.py

通过将以下内容添加到image.py

import sys
raise Exception(str(sys.path))

我得到:异常:['C:\\ Users ... \\ dist \\。']
因此,似乎路径设置正确。


错误跟踪:

Traceback (most recent call last):
  File "main.py", line 8, in <module>
  File "gui\FileSelect.pyc", line 8, in <module>
  File "traitsui\api.pyc", line 27, in <module>
  File "traitsui\basic_editor_factory.pyc", line 30, in <module>
  File "traitsui\editor_factory.pyc", line 32, in <module>
  File "traitsui\helper.pyc", line 32, in <module>
  File "C:\Users\...\dist\.\traitsui\ui_traits.py", line 158, in <module>
    from .image.image import ImageLibrary
  File "C:\Users\...\dist\.\traitsui\image\image.py", line 34, in <module>
    from traitsui.ui_traits import HasBorder, HasMargin, Alignment
ImportError: cannot import name HasBorder

setup.py: https://gist.github.com/2570888

尝试将packages: ["traitsui"]py2exe的options字典中(使用skip_archive选项)。

我认为py2exe没有检测到正在使用traitsui.ui_traits软件包。 您需要强制其在发行版中包括整个traitsui软件包。

注意:只是一个猜测,未经测试。

嗯,这表明我用于图像的Enthought软件包有什么问题。

因此,这里的新设置文件有效: https : //gist.github.com/2570888

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM