当前程序目录结构是这样的
main.py的代码:
#! /usr/bin/env python # encoding:utf-8 from A import call_a def main(): call_a() if __name__ == '__main__': main()
A.py文件的代码:
#! /usr/bin/env python # encoding:utf-8 from B import call_b def call_a(): print "call_a" call_b()
B.py文件代码:
#! /usr/bin/env python # encoding:utf-8 def call_b(): print "Call_b"
当我通过bash命令运行脚本:
bogon:tests nooper$ python innermodules/main.py Traceback (most recent call last): File "innermodules/main.py", line 4, in <module> from A import call_a ImportError: No module named A bogon:tests nooper$
是不能识别模块的加载路径,但是能通过IDE-pycharm运行。如何通过shell来执行脚本main.py,还是需要对__init__.py文件进行加载包。
将父目录加入import路径