簡體   English   中英

依賴項的python導入模塊錯誤

[英]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位置。

因此,如果說您的PATHproject/ (其中“ project”目錄是所提供文件結構的根目錄),則可以使用以下語法訪問green.py

import mypackage.green

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM