Python软件包 "No module named..."

7

我是一名Python新手,正在创建我的第一个简单包。这是我的结构:

Math/
    __init__.py
    divide.py
    minus.py
    multiply.py
    plus.py

这四个文件中都声明了一个简单的数学函数。我的init文件只是:

from plus import *
from minus import *
from multiply import *
from divide import *

当我尝试“导入Math”时,却出现以下错误:
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import Math
  File ".\Math\__init__.py", line 1, in <module>
    from plus import *
ImportError: No module named 'plus'

是的,我知道我的程序包必须放在正确的文件夹中;如果我将其中任何一个文件移动到 Math 文件夹之外,并从 shell 中单独运行 import 调用,则可以正常工作。


尝试使用 from .plus import * 等方式。 - BrenBarn
1个回答

10

您正在使用Python 3,它要求在包内使用相对导入。

from .plus import *
from .minus import *
from .multiply import *
from .divide import *

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接