[英]Python: How to import a module from a parent directory
我知道那里已經有很多類似的問題,但沒有一個答案對我真正有用,所以請先閱讀我的問題(並告訴我其他解決方案哪里出了問題),然后再將其標記為重復。
我的項目結構如下所示:
Project/
|-- src/
|-- project/
|-- a.py
|-- b.py
|-- tests/
|--c.py
我不太了解如何構建 python 項目/包等如何准確工作。 我想在我的c
模塊中導入a
。
我嘗試過類似的事情
from project.a import xyz
from ..a import xyz
我還將__init__.py
文件添加到project
和tests
目錄中。
但我仍然總是得到ModuleNotFoundError: No module named 'project'
然后我嘗試在導入之前將project
路徑添加到我a
sys.path
中,但我仍然收到相同的錯誤消息。
我究竟做錯了什么?
添加__init__.py
,並使用sys.path
添加項目路徑,然后導入a
應該可以工作。 但我建議在您的c.py
中嘗試以下操作:
import sys
from pathlib import Path
filepath = Path(__file__)
filepath = filepath.parent
sys.path.insert(0, str(filepath))
import a
為什么? 這是一個通用的解決方案,只要從c
到a
的相對路徑保持不變,它就可以工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.