我想包括pyOpenSSL封裝成從虛擬環境中的可執行一個Windows可執行文件。該可執行文件構建出來的錯誤,但當我來運行它失敗,錯誤「DLL加載失敗:指定的模塊找不到」。包裝pyOpenSSL到使用PyInstaller
經過調查發現,pyOpenSSL中的兩個DLL(libeay32.dll & ssleay32.dll)未包含在可執行文件中。我最終通過將DLL放到路徑並運行可執行文件來證明這一點。
任何人都可以提出建議,以加強對被納入包丟失的DLL最簡單的方法。
很多謝謝
我想包括pyOpenSSL封裝成從虛擬環境中的可執行一個Windows可執行文件。該可執行文件構建出來的錯誤,但當我來運行它失敗,錯誤「DLL加載失敗:指定的模塊找不到」。包裝pyOpenSSL到使用PyInstaller
經過調查發現,pyOpenSSL中的兩個DLL(libeay32.dll & ssleay32.dll)未包含在可執行文件中。我最終通過將DLL放到路徑並運行可執行文件來證明這一點。
任何人都可以提出建議,以加強對被納入包丟失的DLL最簡單的方法。
很多謝謝
聽起來像你需要手動指定spec文件中的dll。請查看documentation on the TOC Class以獲取有關spec文件中有效數據類型的更多信息。似乎你會想要使用BINARY
。
我剛剛從pyOpenSSL v.0.13(其中有適用於Windows的MSI安裝程序),以v.0.15(我通過「點子」與Python v.2.7.9安裝)升級。在此之前,pyInstaller工作正常。之後,pyInstaller未能生成工作包。結果是失去了一個依賴。但它不是一個DLL,而是一個pyd。
簡單地複製文件C:\ Python27 \ LIB \站點包\ _cffi_backend.pyd到同一目錄中創建pyInstaller exe文件解決了這一問題。