python - 为什么我无法从包中导入模块?
问题描述
我创建了一个名为math
. 在这个包中,我创建了 2 个文件:
simple.py
__init__.py
包外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
。
有人可以告诉我哪里出错了吗?
解决方案
导致这个问题的三个原因。
init.py
应该__init__.py
叫math
也是内置包的名称。很有可能它被加载而不是你的包,并且没有定义a
,- 为了使您的包可被发现,请确保
math
定义的根目录位于您的 pythonpath (PYTHONPATH
环境变量)中。
推荐阅读
- python - 如何在我的石头剪刀布游戏中添加另一轮
- python - Python如何仅当值后选择的分隔符是数字时才拆分字符串?
- r - 根据数据框列创建多个序列
- rust - 将临时/局部变量传递给 Err
- kubernetes - kubernetes - 在同一节点上具有相同应用程序的多个 pod
- c# - 对基于 LINQ 的列表使用匿名类型而不是 var
- selenium-webdriver - 如果存在多个依赖项,Gradle 如何决定从哪个依赖项中获取类
- stripe-payments - 如何使用 Stripe 收集账单信息
- android - 为什么 Invalidate Cache/Restart 选项会导致 android studio 永久构建?
- javascript - 如何自定义图表js条形图形状?