2014-09-22 87 views
0

导入模块我有一个项目的设置是这样的(告诉我,如果它是错的):蟒蛇 - 在同一目录

project/ 
    module_1/ 
     __init__.py 
     foo.py 
    module_2/ 
     __init__.py 
     bar.py 

在foo.py:

from module_2 import bar 

我得到:

ImportError: No module named module_2 

但是,如果我将项目设置更改为:

project/ 
    module_1/ 
     __init__.py 
     foo.py 
     module_2/ 
      __init__.py 
      bar.py 

它的工作原理。我该如何解决?

感谢

+0

你在foo.py导入时? – lmc 2014-09-22 18:11:32

+0

是的 - 导入语句是在module_one/foo.py还是module_one/__ init__.py – 2014-09-22 18:14:11

+0

的情况下会发生因为module2是在foo中进行的。 你应该写../module2导入栏。 请注意../ – lmc 2014-09-22 18:15:07

回答

0

尝试使用相对导入:

from ..module_2 import bar 

然后你把它称为只是条:bar.method()。

编辑: 添加__main__.pyproject并从一个级别运行,与

python -m project 
+1

它给出“尝试从另一个包相对导入”错误 – 2014-09-22 18:22:35