簡體   English   中英

Python:如何從父目錄導入模塊

[英]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文件添加到projecttests目錄中。

但我仍然總是得到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

為什么? 這是一個通用的解決方案,只要從ca的相對路徑保持不變,它就可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM