2015-10-17 80 views
1

我使用Inno Setup在distutils構建後安裝Python應用程序。 構建的輸出包含頂層目錄中的*.pyd文件以及實際的可執行文件。安裝後cx_freeze無法獲取zip導入器

如果我然後從build目錄運行這個應用程序,它的功能正常。

當我在安裝後運行它時,安裝腳本已將*.pyd*.dll移動到子目錄中,似乎應用程序無法再找到這些文件。我得到以下錯誤:

cx_Freeze Fatal Error

cannot get zipimporter instance

我懷疑這是因爲在安裝中移動所需的模塊。有什麼方法可以將它們移動到路徑中?或者告訴應用程序在哪裏尋找frozen莫名其妙?

我很滿意將應用程序的可執行文件移動到libs文件夾中,並指向它的快捷方式,但這看起來很sl and,我真的不喜歡它。

要清楚我的build目錄應該看起來很熟悉。

build 
    myapp.exe 
    _bz2.pyd 
    ... 

安裝後,我故意結束了這樣的事情。

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

嘗試使用py2exe或pyinstaller捆綁東西給你。 –

+0

@steve雖然可能會這樣,但我覺得我不應該這樣做。我不需要單個文件可執行文件或任何東西。我只需要知道如何告訴它在哪裏尋找這些。 – ToothlessRebel

+0

@ToothlessRebel我有同樣的問題,並使用Pyinstaller結束。我推薦Pyinstaller。 – LetzerWille

回答

相關問題