即使文件夹位于系统路径中也会出现ModuleNotFoundError

问题描述 投票:0回答:1

我在尝试导入包时不断收到 ModuleNotFoundError 错误。 我的文件夹结构如下:

-system
--has
---element.py
--programs
---ui
----svc.py

我必须将element.py导入到svc.py中,这是我在svc.py中的代码:

print(sys.path)
from has.element import Element

当我运行时,它确实会打印路径,并且系统文件夹确实位于其中。但我仍然找不到模块。 我知道有多个问题非常相似,但没有一个问题的答案对我有用。

python python-3.x python-import
1个回答
0
投票

您似乎正在尝试从不同的目录导入模块。要将 element.py 导入 svc.py,您可能需要将系统目录的路径显式添加到您的 Python 路径中。

实现此目的的一种方法是在导入 element.py 之前修改 svc.py 中的 sys.path。具体方法如下:

import sys
import os

# Get the current directory of svc.py
current_dir = os.path.dirname(os.path.realpath(__file__))

# Add the 'system' directory to the Python path
system_path = os.path.join(current_dir, '../../')
sys.path.append(system_path)

# Now you can import Element from element.py
from has.element import Element

# Rest of your code
© www.soinside.com 2019 - 2024. All rights reserved.