安装后 cx_freeze 无法获取 zip 导入程序
After install cx_freeze cannot get zip importer
在使用 distutils
构建后,我使用 Inno Setup 安装 Python 应用程序。
构建的输出包含顶级目录中的 *.pyd
文件,以及实际的可执行文件。
如果我然后 运行 这个应用程序从构建目录运行正常。
当我 运行 安装后安装脚本将 *.pyd
和 *.dll
移动到子目录时,应用程序似乎无法再找到这些文件。我收到以下错误:
cx_Freeze Fatal Error
cannot get zipimporter instance
我怀疑是因为在安装中移动了所需的模块。有什么办法可以将它们移到路径中吗?或者如果 frozen
不知何故告诉应用程序在哪里查看?
如果将应用程序可执行文件移动到 libs
文件夹并指向它的快捷方式,我会很满意,但这看起来很草率,我真的不喜欢它。
需要说明的是,我的 build
目录应该看起来很熟悉。
build
myapp.exe
_bz2.pyd
...
安装后我故意以这样的方式结束。
Program Files\MyApp
myapp.exe
libs
_bz2.pyd
...
此时您所有的 pyd、dll 和 zip 必须与 exe 位于同一文件夹中。这已在 cx_freeze 的功能列表中,但尚未实现。
看到这个post:
http://sourceforge.net/p/cx-freeze/mailman/message/32075893/
在使用 distutils
构建后,我使用 Inno Setup 安装 Python 应用程序。
构建的输出包含顶级目录中的 *.pyd
文件,以及实际的可执行文件。
如果我然后 运行 这个应用程序从构建目录运行正常。
当我 运行 安装后安装脚本将 *.pyd
和 *.dll
移动到子目录时,应用程序似乎无法再找到这些文件。我收到以下错误:
cx_Freeze Fatal Error
cannot get zipimporter instance
我怀疑是因为在安装中移动了所需的模块。有什么办法可以将它们移到路径中吗?或者如果 frozen
不知何故告诉应用程序在哪里查看?
如果将应用程序可执行文件移动到 libs
文件夹并指向它的快捷方式,我会很满意,但这看起来很草率,我真的不喜欢它。
需要说明的是,我的 build
目录应该看起来很熟悉。
build
myapp.exe
_bz2.pyd
...
安装后我故意以这样的方式结束。
Program Files\MyApp
myapp.exe
libs
_bz2.pyd
...
此时您所有的 pyd、dll 和 zip 必须与 exe 位于同一文件夹中。这已在 cx_freeze 的功能列表中,但尚未实现。
看到这个post: http://sourceforge.net/p/cx-freeze/mailman/message/32075893/