Tôi đã vật lộn hầu hết đêm cố gắng giải quyết lỗi nhập.Python không thể nhập tên <class>
Đây là vấn đề phổ biến nhưng không có câu hỏi nào trước đây trả lời khá rõ vấn đề của tôi.
Tôi đang sử dụng PyDev (một plugin Eclipse), và thư viện Kivy (thư viện Python)
Tôi có một cấu trúc tập tin thiết lập như thế này:
<code>
__init__.py
main.py
engine.py
main_menu_widget.py
"mã" được tổ chức trong vòng thư mục eclipse "MyProject" nhưng nó không phải là một gói vì vậy tôi đã không bao gồm nó.
Các tập tin giống như thế này:
main.py
# main.py
from code.engine import Engine
class MotionApp(App):
# Ommited
engine.py
# engine.py
from code.main_menu_widget import MainMenuWidget
class Engine():
# Ommited
main_menu_widget.py
# main_menu_widget.py
from code.engine import Engine
class MainMenuWidget(Screen):
pass
Các lỗi tôi nhận được, trong đầy đủ chi tiết, là:
Traceback (most recent call last):
File "C:\MyProject\code\main.py", line 8, in <module>
from code.engine import Engine
File "C:\MyProject\code\engine.py", line 6, in <module>
from code.main_menu_widget import MainMenuWidget
File "C:\MyProject\code\main_menu_widget.py", line 3, in <module>
from code.engine import Engine
Bất kỳ ý tưởng nào tôi đã làm sai ở đây? Tôi vừa đổi tên toàn bộ cấu trúc thư mục của mình vì tôi đã làm hỏng cấu trúc mô-đun này quá tệ, nhưng tôi nghĩ tôi gần giống như thế nào ....
Bản sao có thể có của [ImportError: Không thể nhập tên X] (http://stackoverflow.com/questions/9252543/importerror-cannot-import-name-x) –