【问题标题】:How to properly import a Python package in PyCharm? [duplicate]如何在 PyCharm 中正确导入 Python 包? [复制]
【发布时间】:2021-10-09 11:04:50
【问题描述】:

我是 PyCharm 的新手,在下载 Python 包 (Manim) 后,我的代码将无法识别包中使用的方法,除非我非常准确地告诉它在哪里查找。换句话说,当尝试只导入 Manim 时,我得到了这个:

PyCharm 甚至似乎表明它不需要两条灰线,因为它已经导入了 Manim。问题是错误(红色下划线),它们指向 Manim 包中的类和/或方法,但在我准确之前无法识别:

我如何优化我的导入,以便一行足以满足所有有关 Manim 的需求? (这适用于使用 Spyder3 编辑器的 from manimlib import *。)

【问题讨论】:

  • @MikeScotty 我不认为有任何重复,因为 Spyder3 与 import * 配合得很好。
  • @MikeScotty 因此,即使假设没有重复项,也无法避免对于一个普通大小的程序有一个庞大的导入列表?

标签: python import pycharm manim


【解决方案1】:

正如@Mike Scotty 在他的 cmets 中指出的那样,import *from a import * 通常是不好的主意,因为 python 不知道要导入什么,特别是如果有多个具有相同名称的类。

一个没有抱怨的 IDE 并不意味着你的代码运行顺利。

你有几个选择:

  1. 有一个相当大的导入列表(这绝不是错误),就像您在第二张图片中看到的那样。
  2. 使用import manimlib 并有相当长的函数/类调用:intro_words = manimlib.mobject.svg.text_mobject.Text

可以像这样将类似的导入集合在一起:

from manimlib.mobject import geometry.Polygon as Polygon, svg.text_mobject.Text as Text

据我所知,最pythonic 的方法是进行非常具体的导入,即使这意味着您最终会得到一个很大的导入列表。除此之外,大多数 IDE(如 PyCharm、Atom 或 Visual Studio)都有将大型导入列表折叠成一行的方法: 例如 PyCharm 这样做:import ... 通过点击它来显示所有导入。

请参阅 pythons documentation on importspythons documentation on modules 以更好地了解导入的工作原理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    • 2016-10-29
    • 2022-10-14
    • 1970-01-01
    • 2021-05-07
    • 2020-10-20
    • 2020-08-04
    相关资源
    最近更新 更多