Windows Python v.Linux Python:“from module import *”不在Windows上导入

时间:2015-06-02 19:48:22

标签: python linux windows python-2.7 python-import

我认为这是一个不寻常的问题。我有一个Python脚本script1.py定义class BaseClass(dict),另一个脚本定义class ChildClass(BaseClass)

ChildClass使用from script1 import *导入第一个脚本,但在尝试运行ChildClass时,我得到NameError: name 'BaseClass' is not defined

# script1.py
...
class BaseClass(dict):
    def __init__(self, params):
        pass
...

# ChildClass.py
from script1 import *

class ChildClass(BaseClass):
...

完全相同的脚本在我的家用机器(Ubuntu 15.04)上正常运行,但是我的工作机器(Windows 7 Pro)我得到了前面提到的NameError。

我已经检查了python环境,它确实找到了script1.py文件,但实际上没有导入任何内部函数。

>>> from script1 import *
>>> BaseClass
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'BaseClass' is not defined'

我想象的问题是Windows Python和Linux Python之间的区别,但我之前从未遇到过这种问题。欢迎任何见解。

1 个答案:

答案 0 :(得分:1)

结果(假设命名)script1与内置Python模块共享一个名称。看起来我的家用机器上没有出现错误,因为我在那里运行Python 3,在我的工作机器上运行2。

要解决此问题,我只需重新命名script1