main, vector, entity 및 physics라는 네 가지 파일이 있습니다. 오류가있는 곳이라고 생각하기 때문에 모든 코드를 게시하지 않고 가져 오기 만합니다. (원한다면 더 게시 할 수 있습니다)
본관:
import time
from entity import Ent
from vector import Vect
#the rest just creates an entity and prints the result of movement
실재:
from vector import Vect
from physics import Physics
class Ent:
#holds vector information and id
def tick(self, dt):
#this is where physics changes the velocity and position vectors
벡터:
from math import *
class Vect:
#holds i, j, k, and does vector math
물리학:
from entity import Ent
class Physics:
#physics class gets an entity and does physics calculations on it.
그런 다음 main.py에서 실행하면 다음 오류가 발생합니다.
Traceback (most recent call last): File "main.py", line 2, in <module> from entity import Ent File ".../entity.py", line 5, in <module> from physics import Physics File ".../physics.py", line 2, in <module> from entity import Ent ImportError: cannot import name Ent
저는 Python을 처음 접했지만 오랫동안 C ++로 작업했습니다. 나는 오류가 엔티티에서 두 번, 메인에서 한 번, 나중에 물리에서 가져 오기 때문이라고 생각하지만 해결 방법을 모르겠습니다. 누구든지 도울 수 있습니까?
from <module> import <name>
, 나 from <modlue> import *
. 동일한 이름의 참조를 덮어 쓰지 않도록 모듈 네임 스페이스에서 가져 오는 것이 좋습니다.
Entity
하고 Vector
대신 Ent
하고 Vect
, 같은 이름을 단축 할 이유가 없습니다. 그리고 네, 사용 import vector
후 및 x = vector.Vector(0,0,0)
.