为了账号安全,请及时绑定邮箱和手机立即绑定

python3 模块的内部文件 main() 入口点

python3 模块的内部文件 main() 入口点

繁花如伊 2021-09-28 13:42:49
我创建了一个名为 myutils 的模块。这是我使用的文件结构:./mypackages./mypackages/myutils./mypackages/myutils/util1.py./mypackages/myutils/util2.py./myexecs./myexecs/user_executable1.py我正确设置 PYTHONPATH=./在./myexecs/user_executable1.py我可以轻松使用utils:from my_packages import myutilsmyutils.util1.func1()在 util1.py 中,我可以使用 util2.py:from . import util2util2.func2() 当我希望将 util1.py 直接用作主要入口点时,就会出现问题。它有一个if __name__ == "__main__": main()入口点,但如果我直接执行它,它无法导入 util2(from . import util1失败)。如果我使用它执行它确实会成功 python -m mypackages.myutils.util1知道如何让 util1 使用它的兄弟姐妹导入from . import ... 并且能够直接从 cmd 执行它而不将它作为模块执行吗?
查看完整描述

1 回答

?
Helenr

TA贡献1780条经验 获得超3个赞

只需在您的代码中的任何地方使用绝对导入(from . import util2将是from mypackages.myutils import util2)并运行您的 execpython -m myexecs.user_executable1就可以了


查看完整回答
反对 回复 2021-09-28
  • 1 回答
  • 0 关注
  • 200 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信