Python,无法从导入的模块导入

时间:2014-04-23 17:52:49

标签: pygame

所以我试图从Proj.py导入到LaserSprite.py.I想要将Proj导入Lasersprite,但我已经将lasersprite导入到Proj。

我收到此错误。 Traceback(最近一次调用最后一次):   File" I:/ aaaaaaaaa Project / Python Project / src / Proj.py",第8行,in     来自LaserSprite导入激光   File" I:/ aaaaaaaaa Project / Python Project / src \ LaserSprite.py",第2行,in     来自Proj import PlayerShip   File" I:/ aaaaaaaaa Project / Python Project / src \ Proj.py",第8行,in     来自LaserSprite导入激光 ImportError:无法导入名称激光

LaserSprite.py

import pygame
from Proj import PlayerShip
pygame.mixer.init()

Proj.py

import pygame
import random
import math
from Vector_Calc import Vector
from LaserSprite import Laser

1 个答案:

答案 0 :(得分:0)

您遇到import loop问题。您不能将A导入B和B导入A.
这通常是您应该重新设计模块布局及其依赖关系的信号。

然而,如果你真的需要,你可以这样做:

# LaserSprite.py
from Proj import PlayerShip

# Proj.py
def __import_laser():
    from LaserSprite import Laser
    return Laser

Laser = __import_laser()

这些都应该是顶级声明。