仅在main在python包中运行时导入包

我喜欢使用我的包底部的以下代码在
python中测试我的包:

if __name__ == "__main__":
    sys.exit(main())

其中main()是我在上面定义的函数.现在我的问题是:

我需要在我的main中导入额外的包来测试我的模块,如果用户只是导入我的模块(即从另一个脚本),则不需要导入.如果我的main显式运行,有没有办法只导入这些额外的包?当我的包刚刚导入时(即来自另一个脚本),这些额外的包不会被导入.

最佳答案 为什么不直接将import语句放在main()的主体中?应该这样做.

def main():
   import my_module # import ONLY if main is called
   # code
点赞