我使用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
...
答案 0 :(得分:1)
您的所有pyd,dll和zips必须与此刻的exe文件夹在同一个文件夹中。这已经在cx_freeze的功能列表中,但尚未实现。
看这篇文章: http://sourceforge.net/p/cx-freeze/mailman/message/32075893/