如何从兄弟目录中的包导入模块

时间:2017-05-21 13:20:41

标签: python module package

如何导入etc/conf.py

中定义的变量或函数

当我的文件结构是:

code
|-- ctl
|   |-- ctl_interconnect.py
|   |-- __init__.py
|-- etc
|   |-- conf.py
|   `-- __init__.py
`-- __init__.py

我在ctl目录中打开了一个IPython shell?

我得到的错误是:

In [1]: import code.etc.conf
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-ec5c1bbb6ae5> in <module>()
----> 1 import code.etc.conf

ImportError: No module named etc.conf

1 个答案:

答案 0 :(得分:0)

由于您的工作目录在ipython中为code,因此您无法执行import code.etc.conf。您可以执行import etc.conf,因为代码的路径在您的系统路径中。您可以通过执行

来验证这一点
import sys
print(sys.path)

code的路径应该是最后一个。

import code但却无法找到etc的原因是您输入了错误的code

在我的系统上,当我导入代码时,代码是以下模块(在带有Anaconda python发行版的Windows上):

<module 'code' from 'C:\\Users\\superCoolUsername\\Anaconda3\\lib\\code.py'>