首页 > 解决方案 > 为什么我无法从包中导入模块?

问题描述

我创建了一个名为math. 在这个包中,我创建了 2 个文件:

包外math是我的文件main.py

__init__.py看起来像这样:

a=1 

这是的内容main.py

import math
print(math.a)

输出应该是1,但我没有得到任何输出。

即使在以下情况下 main.py

from math import simple
print(simple.add(1,2))

我得到的错误是:cannot import name simple

有人可以告诉我哪里出错了吗?

标签: pythonpython-3.x

解决方案


导致这个问题的三个原因。

  1. init.py应该__init__.py
  2. math也是内置包的名称。很有可能它被加载而不是你的包,并且没有定义a
  3. 为了使您的包可被发现,请确保math定义的根目录位于您的 pythonpath (PYTHONPATH环境变量)中。

推荐阅读