主程序中通过importlib.import_module导入自定义脚本模块
配置好path,执行如下代码,即运行脚本:
testflow = importlib.import_module(path).TestFlow(self.conn, testItem.config)
testflow.start()
代码运行没问题,但是用pyinstaller打包后执行报错
执行报错如下:
File "E:\Work\GATS\dist\main\driver_init.py", line 1, in
from driver.KeysightM9290A import Driver
File "E:\Work\GATS\dist\main\shiboken2\files.dir\shibokensupport_feature.py", line 142, in import
return original_import(name, *args, **kwargs)
File "E:\Work\GATS\dist\main\driver\KeysightM9290A.py", line 1, in
import pyvisa as visa
File "E:\Work\GATS\dist\main\shiboken2\files.dir\shibokensupport_feature.py", line 142, in import
return original_import(name, *args, **kwargs)
File "E:\Work\GATS\dist\main\pyvisa_init.py", line 16, in
from importlib_metadata import PackageNotFoundError, version # type: ignore
File "E:\Work\GATS\dist\main\shiboken2\files.dir\shibokensupport_feature.py", line 142, in import
return original_import(name, *args, **kwargs)
File "E:\Work\GATS\dist\main\importlib_metadata_init.py", line 4, in
import csv
File "E:\Work\GATS\dist\main\shiboken2\files.dir\shibokensupport_feature.py", line 142, in _import
return original_import(name, *args, **kwargs)
ModuleNotFoundError: No module named 'csv'
pycharm的installer打包配置如下
Program : D:\Python\Python37\Scripts\pyinstaller.exe
Arguments: -D -p D:\Python\Python37\Lib\site-packages $FileNameWithoutExtension$.py
Working directory: $FileDir$