[英]Python unable to import nested module
我目前正在用 Python 編寫一個庫。 我正在嘗試使用我在模塊中定義的類,但我無法在 main.py 中使用它。 在 Selector 和 SeasonSelector 中,我定義了兩個具有相同文件名的類。 我收到以下錯誤:
模塊“選擇器”中沒有名稱“選擇器”
main.py
:
import pyf1
testSeasonSelector = pyf1.Selectors.SeasonSelector()
testSelector.loadData()
pyf1/__init__.py
:
from Selectors.Selector import Selector
from Selectors.SeasonSelector import SeasonSelector
目錄
├── main.py
└── pyf1
├── Selector.pyc
├── Selectors
│ ├── SeasonSelector.py
│ ├── SeasonSelector.pyc
│ ├── Selector.py
│ ├── Selector.pyc
│ └── __init__.pyc
├── __init__.py
├── __init__.pyc
├── __pycache__
│ └── __init__.cpython-38.pyc
└── data
你的目錄應該是這樣的
├── main.py
└── pyf1
├── selector.pyc
├── selectors
| ├── __init__.py
│ ├── season_selector.py
│ ├── season_Selector.pyc
│ ├── selector.py
│ ├── selector.pyc
│ └── __init__.pyc
├── __init__.py
├── __init__.pyc
├── __pycache__
│ └── __init__.cpython-38.pyc
└── data
您的目錄不是沒有init .py 的認證包,因此您無法進行導入語句。 我還冒昧地更正了您如何命名模塊以適應良好的 Python 命名約定\\實踐。 有了這個,您應該能夠從構建的包中導入而不會出現問題
我設法找到了解決方案。
問題是我沒有使用正確的語法。 一旦我添加了缺少的__init__()
文件,我就使用了導入語句Import .parent_file from ParentClass
然后允許我按照我想要的方式將功能向上傳遞。
在 Selectors 目錄中,我可以使用from .selector import __Selector
在SeasonSelector
使用
此外 - 我沒有在我的sys.path
包含 PyF1,因此 python 無法掃描目錄。 這包括在上面的語法中,讓我可以做我想做的事。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.