Python不将我的包视为包

Python不将我的包视为包,python,Python,我有以下文件夹结构: mypkg/ __init__.py program.py utils.py utils.py包含以下内容: def foo(): print('this is foo from utils.py') from mypkg import utils utils.foo() program.py包含以下内容: def foo(): print('this is foo from utils.py') from mypkg import ut

我有以下文件夹结构:

mypkg/
  __init__.py
  program.py
  utils.py
utils.py
包含以下内容:

def foo():
    print('this is foo from utils.py')
from mypkg import utils
utils.foo()
program.py
包含以下内容:

def foo():
    print('this is foo from utils.py')
from mypkg import utils
utils.foo()
\uuuu init\uuuu.py
为空

我得到的错误是:

Traceback (most recent call last):
  File "program.py", line 1, in <module>
    from mypkg import utils
ModuleNotFoundError: No module named 'mypkg'
回溯(最近一次呼叫最后一次):
文件“program.py”,第1行,在
从mypkg导入utils
ModuleNotFoundError:没有名为“mypkg”的模块
如果我用import utils替换第一行,它就可以正常工作。问题是,为什么它不能与mypkg导入utils的
一起工作?我错过了什么

Python版本:3.8.5
在Linux服务器上运行。

另外,当我在Windows上执行相同操作时,我没有看到该错误。

可能是因为
mypkg
不在您的路径中。如果导入utils
有效,我假设您的工作目录位于
mypkg
目录中。是否需要手动将每个包添加到路径中?有更简单的方法吗@juanpa.arrivillaga您可以将cd放入父目录。但是您知道,当您“安装”一个包时,基本上归结为将该包添加到您的路径中。因为如果您正在从
mypkg/
运行脚本,则目录中没有
mypkg
。错误是当前目录中没有名为
mypkg
的模块。从中尝试
。导入utils
并使用
python-m program.py作为模块运行
您的意思是
PYTHONPATH
,而不是
PATH