【问题标题】:Python Class in module not loading in one computer, but the other模块中的 Python 类没有加载到一台计算机上,而是加载到另一台计算机上
【发布时间】:2011-03-29 03:17:09
【问题描述】:

所以我有两个文件: 文件 1 中有这个方法:

import MyGlobals
global old_function
def init():
    import ModuleB
    global old_function
    MyGlobals.SomeNumber = 0
    old_function = ModuleB.someClass.function
    ModuleB.someClass.function = someNewFunction

文件 2 有一个类“someClass”和一个类“someOtherClass”。话虽如此。 当我在我的计算机上运行我的代码时,它工作得很好,它可以满足我的期望。当我在我的朋友计算机上运行此代码时,它是具有相同 python 版本 2.5.4 的相同版本的 windows 7,并且使用相同的代码(在两者的拇指驱动器上)它会收到错误“模块不包含 someClass”

我希望这对我想说的话有意义。它与工作相关,因此代码 sn-ps 不大声。这让我非常困惑为什么会这样。我什至试过“from ModuleB import someClass”看看someClass是否可以工作,但它仍然说someClass不在moduleB中,而someCLass肯定在moduleB中......

任何想法将不胜感激!

【问题讨论】:

    标签: python module python-module


    【解决方案1】:

    嗯,很明显您使用的是不同版本的ModuleB。我会大胆猜测,即使您从拇指驱动器运行代码,您也已将 ModuleB.py 放在 PYTHONPATH 中的其他位置,并且它正在您的计算机上运行该版本,但不在您朋友的计算机上。这很容易检查:

    import ModuleB
    print ModuleB.__file__
    

    我敢打赌,这不会打印出你所期望的!

    另外,您的代码 sn-p 中不需要第一个 global 声明——这已经是全局范围了。

    【讨论】:

    • 哇,我觉得自己像个白痴!它只是没有意义,现在我认为这应该是第一个想法。谢谢!
    猜你喜欢
    • 2020-09-08
    • 1970-01-01
    • 2016-04-16
    • 1970-01-01
    • 2023-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多