[英]import module from a sibling directory in python3.10
已經有 10 多篇關於此的帖子,沒有一個答案對我有用,而且我還沒有看到有人從同級目錄導入某些內容的示例。
src
__init__.py
test.py
package1
__init__.py
module1.py
package2
__init__.py
module2.py
(_ init _.py 在大於 3.3 的 python 版本上不需要,但我仍然有它們,因為它們沒有區別)
在 test.py 我有
import package1.module2
它工作正常但是問題是當我想從package2導入一些東西到package1,反之亦然。 我在 module2.py 中嘗試了不同的導入方法,並且收到了這些不同的錯誤消息:
import src.package1.module1.py
出現錯誤:
ModuleNotFoundError: No module named 'src'
和
from .. import package1
出現錯誤:
ImportError: attempted relative import with no known parent package
這里的最佳答案是: 如何從同級目錄導入 Python 腳本? 還給我上面顯示的確切錯誤消息。 這里的答案: 如何從同級文件夾中導入 Python 模塊? 什么都沒有改變。 我是否遺漏了某些東西,或者不能在不同的文件夾/包之間導入東西? 我需要“sys.path hack”嗎?
我給出了針對類似問題的幾乎所有解決方案,但沒有一個對我有用,但是,在我把頭撞到牆上之后,我發現這個解決方案只需刪除一個點就可以工作:
import sys
sys.path.append('..')
只需從 append 方法中的字符串中刪除一個點,即:
sys.path.append('.')
或者您可以使用:
sys.path.insert(0, '.')
然后您可以從同級文件夾中導入任何模塊。 我使用 python 3.9.13 進行了嘗試,效果很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.