我似乎無法理解這一點,也不太明白髮生了什麼。我有一個包含兩個類文件的目錄。使用該目錄中的REPL,我可以導入這兩個文件並執行其邏輯。然而,從它們的父目錄中運行main(),只有一個類文件是可見的,可分頁的。自定義Python模塊沒有導入
這個項目的結構目前,
project/
src/
__init__.py # empty
pagingsimulation.py # main() imports memory
process.py
memory/
__init__.py # imports pagetable.py
pagetable.py # visible
page.py # error
pagingsimulation.py能夠導入內存/和實例pagetable.PageTable,但一旦我創建page.py,不得不pagetable.py進口page.py,pagingsimulation。 py現在在執行時拋出這個錯誤。
Traceback (most recent call last):
File "pagingsimulator.py", line 5, in <module>
import memory
File "src/memory/__init__.py", line 1, in <module>
from .pagetable import PageTable
File "src/memory/pagetable.py", line 1, in <module>
import page
ImportError: No module named 'page'
存儲器內/ __ init__.py我現在有,
from .pagetable import PageTable
......但試過很多其他的變化都沒有成功。
我已經嘗試了多種方法並對此進行了一段時間的研究,也許這是我目前無法看到的。什麼是阻止我的自定義模塊從main()運行時互相導入?
根據頂部的目錄佈局,'src'和'memory'是兄弟目錄,但是回溯指的是'src/memory/...' –
'import page'只有在父目錄'project/src/memory')在你的'PYTHONPATH'上。 –
@JohnGordon這是一個格式錯誤。感謝您的支持。內存是src的子目錄,(即project/src/memory / –