我有一个使用 importlib 从另一个脚本(sub_script.py)导入模块的主脚本。我还将参数传递给另一个脚本:
import importlib
parser = argparse.ArgumentParser(add_help=False)
group = parser.add_mutually_exclusive_group(required=True)
group.add_argument('-option1', action = "store_true")
args = parser.parse_known_args()
if args[0].option1:
function = importlib.import_module('sub_script')
function.main(namespace = args[1])
虽然此代码本身运行良好(使用 Python main_script.py),但在我使用 Pyinstaller 编译后它返回以下错误消息:
Traceback (most recent call last):
File "<string>", line 33, in <module>
ImportError: No module named sub_script
main_script returned -1
我尝试过了:
1)__init__.py
在我的文件夹下添加一个
或 2) 将 sub_script.py 移动到 sub_folder 中,__init__.py
但两者都可以。
我也尝试在 Ubuntu 下编译它,但得到了相同的消息。
但是,如果我只使用导入,它就可以正常运行:
import sub_script
有任何想法吗?谢谢!