【发布时间】:2021-09-16 00:42:31
【问题描述】:
我正在尝试从父目录中的文件夹导入模型。我正在使用 sys.path.append()。我的项目结构:
-项目
- 文件夹 1
- file1.py
- ...
- 文件夹2
- file2.py
- ...
在file1.py文件中:
sys.path.append('../Project')
from Project.folder2 import file2
然后我得到一个:
ModuleNotFoundError: No module named Project
我知道还有其他方法,但这似乎是最简单的。我不确定是否需要将绝对路径放入项目文件夹,但我希望不需要,因为我将在不同的计算机上运行这个项目(diff abs 路径)。
【问题讨论】:
-
您的项目目录中有
__init__.py文件吗? -
不应该是
sys.path.append('..'),因为你使用的是from Project....? -
@ewong 我没有。我在某处读到 python3 不再需要 init 文件,但你的想法是什么?
-
@joanis 确切的附加语句是什么? “..”无效
-
我希望
sys.path.append('..')添加您当前工作目录的父目录。但也许 Python 不允许这样做?无论如何,我的观点是,如果xyz/Project在 sys.path 上,Python 会在xyz/Project/Project/中查找模块Project,而不是直接在xyz/Project/中。
标签: python