Python无法导入包

时间:2015-05-28 20:52:09

标签: python import module package

我的包结构如下:

thePackage/
    __init__.py
    moduleA.py
    moduleB.py
    moduleC.py

__init__.py文件包含

from . import moduleA

为简单起见,我cd进入包含foler thePackage

的目录

当我尝试import thePackage时,我收到错误:

Traceback (most recent call last):

  File "<ipython-input-10-5fe9a18b3124>", line 1, in <module>
import thePackage

  File "C:\thePackage\__init__.py", line 2, in <module>
from . import moduleA

ImportError: cannot import name 'moduleA'

我读了几篇帖子 Importing packages in Python,但仍无法弄清楚我的问题。该帖子中接受的答案表明我应该能够通过import thePackage.moduleA导入子模块模块A,但是当我尝试这个时,我得到完全相同的错误。

我如何重视包裹thePackage?

另外,我怎样才能导入moduleA?

3 个答案:

答案 0 :(得分:1)

from thePackage import moduleA

答案 1 :(得分:0)

我在使用SpyderPython3.4时遇到了问题。

当我关闭并重新启动Spyder时,我可以使用import thePackage导入包,然后我可以使用import thePackage.moduleA导入moduleA。

此外,最初我第一次尝试使用import thePackage导入模块时,它失败了。此时我可能已经修改并保存了__init__.py。然后我可能尝试使用import thePackage再次导入模块,但是这可能并不总是尝试导入新保存的thePackage版本。因此,我建议尝试

import importlib
importlib.reload(thePackage)

强制导入新保存的thePackage版本。

答案 2 :(得分:0)

你可以尝试

    sudo apt-get install python-setuptools

https://bitbucket.org/pypa/setuptools/issues/368/module-object-has-no-attribute-packaging找到了, 当我遇到安装pyttsx的挑战时,它帮助了我,