【问题标题】:how to import my own package from ipython如何从 ipython 导入我自己的包
【发布时间】:2019-01-02 22:54:15
【问题描述】:

我在 BitBucket 中创建了自己的存储库。
在该存储库中,我有一个名为 core.py 的文件和一个 __init__.py 文件
我尝试导入核心模块,并修复了所有需要的要求。
现在,当我终于能够使用 ipython 导入模块时,
这只是一个大类,调用:

obj = MyClass()

我收到一个错误:

name 'MyClass()' is not defined

即使看起来模块已导入。
如果需要更多信息,请告诉我。

【问题讨论】:

  • 你能添加你的导入语句吗? IE。你是如何导入“MyClass”的?
  • 当然,让我们更具体一点,不那么通用:from mintigocloudstorage import core

标签: python module package ipython


【解决方案1】:

正如您在评论中所说,您正在导入 core.py:

from mintigocloudstorage import core

这意味着,您还必须告诉脚本在哪里可以找到您的课程:

obj = core.MyClass()

如果导入成功如您所说,Python 现在应该能够找到您的类定义。

或者你也可以导入你的类:

from mintigocloudstorage.core import MyClass
obj = MyClass()

【讨论】:

  • 我照你说的做了。从 mintigocloudstorage.core 导入我的班级。现在我尝试 obj = MyClass() 并收到一个新错误:__init__() 至少需要 3 个参数(给定 1 个)
  • 这意味着您的脚本现在可以找到您的自定义类,但您使用签名定义它,该签名在创建时需要参数。 (您的 init 函数希望您传递 2 个附加参数)。如果不这样做,请发布您的课程定义/编辑您的帖子:)
猜你喜欢
  • 2016-06-18
  • 1970-01-01
  • 1970-01-01
  • 2016-09-15
  • 2015-04-23
  • 2022-12-12
  • 2019-09-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多