操你大爷的python import

长话短说,当从父目录,子目录,兄弟目录,同目录,import一个模块的函数,类等等,如果出了问题,各种错误信息,not a module, no module, cannot relative import, _main__…, 等等,各种解决方案,

from .a import b

from . import b

from a import b

from c.d.a import b

import a.b as B

_init_.py,空文件

_init.py_, 列举子模块

sys.append(……………….)

等等等等都不好使的时候,要记住,一个python项目只能有一个主文件,这个主文件不是模块,她是_main_, 不是模块!所以什么办法都不好使。relative import只能在模块间使用。main不是模块,甚至absolute import也不好使,init.py也不好使,有没有也无所谓。关键的是,主文件不是模块,是脚本, dunder main大于一切(双下划线打不出来)。

最简单的解决方案,把主文件放在顶层,其他模块放在子目录。比如

dir1

—-app.py

—-dir2—-class1.py

|——func2.py

|——_init_.py

Relative imports for the billionth time

    原文作者:天色尚早
    原文地址: https://zhuanlan.zhihu.com/p/56370717
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞