安装后cx_freeze无法获取zip导入器

时间:2015-10-17 08:51:50

标签: python inno-setup cx-freeze

我使用Inno Setup在使用distutils构建后安装Python应用程序。 构建的输出包含顶级目录中的*.pyd文件以及实际的可执行文件。

如果我从构建目录运行此应用程序,它将正常运行。

当我在安装后运行它时,安装脚本已将*.pyd*.dll移动到子目录中,似乎应用程序无法再找到这些文件。我收到以下错误:

  

cx_Freeze致命错误

     

无法获取zipimporter实例

我怀疑是因为在安装中移动了所需的模块。有什么方法可以让他们进入这条路吗?或者告诉应用程序在某种程度上查看frozen的位置?

我很满意将应用程序可执行文件移动到libs文件夹并指向它的快捷方式,但这看起来很草率,我真的不喜欢它。

要清楚我的build目录应该看起来很熟悉。

build
  myapp.exe
  _bz2.pyd
  ...

安装完成后,我故意以这样的方式结束。

Program Files\MyApp
  myapp.exe
  libs
    _bz2.pyd
    ...

1 个答案:

答案 0 :(得分:1)

您的所有pyd,dll和zips必须与此刻的exe文件夹在同一个文件夹中。这已经在cx_freeze的功能列表中,但尚未实现。

看这篇文章: http://sourceforge.net/p/cx-freeze/mailman/message/32075893/