[英]Custom Python module not importing
我似乎無法超越這一點,也不太了解正在發生的事情。 我有一個包含兩個類文件的目錄。 從該目錄中使用REPL,我可以導入兩個文件並執行它們的邏輯。 從其運行main()的父目錄中,只有一個類文件可見,頁表。
該項目的結構目前是
project/
src/
__init__.py # empty
pagingsimulation.py # main() imports memory
process.py
memory/
__init__.py # imports pagetable.py
pagetable.py # visible
page.py # error
pagessimsim.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()運行時相互導入?
我懷疑該解決方案是一個路徑問題,更具體地說,是與模塊一旦導入到父文件pagesimulation.py中后的交互方式有關。
因此,要解決此問題,它與__init__.py無關,而是我如何從pagetable.py中訪問page.py。
因此,pagingsimulator.py使用,
import memory
在內存中, init .py文件具有
from .pagetable import PageTable
為了使PageTable訪問Page,必須使用import語句,
from memory import Page
在我看來,這有點時髦,但在失敗了很多次之后,我想說一種更干凈的方法可以做到這一點,但是暫時,我會取勝,並希望將這個問題留在這里對我有利。在搜索過程中找不到相似的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.