[英]python module imports issue
這是我的目錄結構的圖片:
parts.py
machine/
__init__.py
parts.py
我有一個名為machine的目錄(一個軟件包)
其中有__init__.py和parts.py
與計算機處於同一級別,有一個名為parts.py的文件
在parts.py中,代碼如下所示:
#parts.py
class Parts(object):
pass
在machine.parts中,代碼看起來像這樣
#machine.parts
from parts import Parts
class MachineParts(Parts):
pass
當我嘗試導入machine.parts時,出現導入錯誤。 我不想更改目錄結構。 我該如何解決這個問題並保持良好的PEP8風格?
您應該通過添加頂級__init__.py
並將其賦予頂級目錄一些有意義的名稱來使其成為一個包:
mypackage
__init__.py
parts.py
machine/
__init__.py
parts.py
然后,使用絕對導入:
#machine.parts
from mypackage.parts import Parts
class MachineParts(Parts):
pass
由於import
支持相對導入,請嘗試:
from ..parts import Parts
另一種選擇是使用絕對導入:
from appname.parts import Parts
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.