使用PyInstaller打包包含Scipy的項(xiàng)目后葫笼,運(yùn)行出現(xiàn)“ImportError: DLL load failed: 找不到指定的模塊。”錯(cuò)誤時(shí),是因?yàn)槿鄙?code>extra-dll里面的文件犯祠。
測(cè)試環(huán)境:win10 + python3.6 64位 + PyInstaller3.3.1
File "venv\lib\site-packages\scipy\fftpack\basic.py", line 12, in <module>
File "C:\Users\..\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 714, in load_module
module = loader.load_module(fullname)
ImportError: DLL load failed: 找不到指定的模塊。
在PyInstaller腳本里添加以下內(nèi)容即可酌呆。
--add-binary', './venv/lib/site-packages/scipy/extra-dll/*;.'
最終打包腳本如下所示:
from PyInstaller.__main__ import run
if __name__ == '__main__':
opts = ['-c',
'--add-data', 'test.db;.',
'--add-data', 'test.ini;.',
'--add-data', 'test.ico;.',
'--icon', 'test.ico',
'--add-binary', './venv/lib/site-packages/scipy/extra-dll/*;.',
'--hidden-import', 'PyQt5.QtSerialPort',
'--hidden-import', 'PyQt5.QtChart',
'--hidden-import', 'PyQt5.sip',
'--hidden-import', 'ctypes.wintypes',
'--hidden-import', 'win32con',
'--hidden-import', 'sqlalchemy',
'--hidden-import', 'sqlalchemy.orm',
'--hidden-import', 'logging.handlers',
'--hidden-import', 'scipy._lib.messagestream',
'-y', '--noupx', '--clean',
'test.py']
run(opts)
版權(quán)聲明:本文為「txfly」的原創(chuàng)文章衡载,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明肪笋。
原文鏈接:http://www.reibang.com/p/918671786669