只有在从构建目录

时间:2017-06-05 00:16:58

标签: python qt5 pyinstaller cx-freeze frozen

我使用cx_freeze冻结应用程序,它创建一个包含各种dll和程序exe文件的构建文件夹。当我尝试从命令提示符(Windows 10,64位)调用此exe时,只要当前命令提示符路径是构建文件夹,它就可以正常工作。

C:\mypath\build>          file.exe

但是,如果我在命令提示符路径是另一个文件夹时尝试调用exe - 例如

c:\mypath>           build\file.exe

我收到有关qwindows.dll未找到的错误

我尝试让我的软件识别exe路径并将其添加到系统路径(使用QApplication.addLibraryPath func和sys.path):

exe_dir = os.path.dirname(sys.executable)
QApplication.addLibraryPath(exe_dir)
sys.path.insert(0, exe_dir)

我确保所需文件位于构建文件夹的根目录中,因此exe_dir肯定包含所需的文件夹,但是当.exe运行时,它似乎无法找到它们。

我怀疑这是一个简单的路径错误,并且想知道是否有人可以建议(可能是一行解决方案)告诉冻结的exe如何正确地找到它的dll文件。

由于

0 个答案:

没有答案