[英]python importing modules error for dependencies
我試圖了解整個Python導入/模塊/包業務,但是我在這個特定問題上陷於困境。
我的目錄結構:
.
├── README.md
├── mypackage
│ ├── __init__.py
│ ├── red.py
│ ├── blue.py
│ ├── green.py
│ └── tests
│ └── red_tests.py
│ └── green_tests.py
└── go.py
我的導入代碼如下所示:
# __init__.py
from red import Red
from green import Green
# blue.py
from red import Red
# green.py
from red import Red
from blue import Blue
# go.py
from mypackage import Red, Green
但是嘗試訪問Green
類的靜態類變量時運行go.py
會出現此錯誤:
NameError: global name 'Green' is not defined
我怎樣才能解決這個問題?
抱歉-事實證明這是一個循環依賴問題。 對此我深表歉意!
嘗試在與go.py
相同的目錄中創建文件__init__.py
Python導入與您當前的PATH
相關的模塊,您可以通過以下方式找出它的含義:
import os
print os.environ['PYTHONPATH'].split(os.pathsep)
現在,當在任何.py
文件中導入內容時,請編寫與PATH
相關的import
位置。
因此,如果說您的PATH
是project/
(其中“ project”目錄是所提供文件結構的根目錄),則可以使用以下語法訪問green.py
:
import mypackage.green
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.