当前位置: 首页 > 知识库问答 >
问题:

Python模块在2.7上工作,但不在3.5上工作[重复]

方风华
2023-03-14

这是我的密码:

from Mammals import Mammals

from Bird import Bird
class Mammals(object):

    def __init__(self):
        self.members = ['Tiger', 'Elephant','Wild Cat']

    def print_members(self):
        for member in self.members :
            print('this is a member :' + member)
class Bird(object):

    def __init__(self):
        self.birds = ['sparrow','robbin','duck']

    def print_members(self):
        print('printing birds in bird class')
        for bird in self.birds:
            print('this is a bird '+ bird)
from Animals import Mammals, Bird

mam = Mammals()
bird = Bird()

mam.print_members()

bird.print_members()     

我已经安装了Python3(MacOSX),并将其与virtualenv一起使用。这段代码在2.7中运行良好,但在python3中不起作用。5.它总是给出ImportError:没有名为哺乳动物的模块

共有1个答案

徐安康
2023-03-14

Python 3区分了相对导入和绝对导入,放弃了对隐式相对导入的支持。

您的代码在python2中运行,因为解析器暗示了鸟类哺乳动物的相对导入,但python3停止了这一操作。

运行2to3为您的文件将修复它。

from .Mammals import Mammals
from .Bird import Bird
 类似资料:
  • 嗨,我最近正在研究一个 python 模块(名为 pykiwoom 的包) 我在 conda 32 位环境中安装了一个模块 并尝试导入这个 这工作得很好,当我执行这Python控制台在py魅力 但是,当我在终端中尝试此操作时,会发生错误 包pykiwoom的内部结构如下所示 皮基乌姆 init.py kiwoom.py parser.py 有人能告诉我为什么会出现这个错误吗?

  • 我有一段非常简单的Java代码,在那里我尝试从Java连接到我的Oracle DB。 在Windows下一切正常,但当我尝试在Ubuntu上运行时,我得到了一个错误。 我读了很多书,也试过很多解决方法。这是我的代码: 当我运行它时,我收到一个错误: 连接失败Java.sql.sqlRecoverable异常:IO错误:网络适配器无法在oracle.jdbc.driver.T4CConnection

  • 这是怎么工作https://graph.microsoft.com/v1.0/me/onenote/notebooks?filter=tolower(名)eq'我的笔记本' 来自图形资源管理器的屏幕截图 当我尝试在C#中编写相同的代码时,我得到了以下错误代码:BadRequest消息:无效筛选子句内部错误:AdditionalData:日期:2020-09-02T20:01:24 我正在使用下面的

  • 这个问题在下面的示例中重现。 } 据我所知,发生此异常是因为多个线程试图保存同一个对象。这就是我使用同步块的原因。 null null

  • Peer.JS server.js github链接到项目:链接 新来的赫罗库。任何帮助都将不胜感激!

  • 我是android新手,我能够在kotlin中为我的应用程序设置firebase。如果我在Nexus 5X API 27 emulator中运行该应用程序,我就能够获取数据库,但当我在实际设备三星S5(Google play Services V 12.5.29,android V 5.0)中运行该应用程序时,我无法获得addValueEventListener回调。 Gradle文件: 我知道这