如何在 PyCharm 中正确导入 Python 包?
How to properly import a Python package in PyCharm?
我是 PyCharm 的新手,在下载 Python 包 (Manim) 后,我的代码无法识别包中使用的方法,除非我非常准确地告诉它在哪里看。换句话说,当尝试只导入 Manim 时,我得到了这个:
其中PyCharm甚至似乎表明它不需要两条灰线,因为它已经导入了Manim。问题是错误(红色下划线),它们指向 Manim 包中的 类 and/or 方法,但在我精确之前无法识别:
我怎样才能优化我的导入,以便一行就足以满足所有与 Manim 有关的内容? (仅 from manimlib import *
使用 Spyder3 编辑器就可以正常工作。)
正如@Mike Scotty 在他的评论中指出的那样,import *
和 from a import *
通常是个坏主意,因为 python 不知道要导入什么,尤其是如果有多个 类 同名。
IDE不抱怨并不意味着您的代码运行顺畅。
这里有几个选项:
- 有一个相当大的导入列表(这绝不是错误的),就像你在第二张图片中那样。
- 使用
import manimlib
并进行相当长的 function/class 调用: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 imports and pythons documentation on modules 以更好地了解导入的工作原理。
我是 PyCharm 的新手,在下载 Python 包 (Manim) 后,我的代码无法识别包中使用的方法,除非我非常准确地告诉它在哪里看。换句话说,当尝试只导入 Manim 时,我得到了这个:
其中PyCharm甚至似乎表明它不需要两条灰线,因为它已经导入了Manim。问题是错误(红色下划线),它们指向 Manim 包中的 类 and/or 方法,但在我精确之前无法识别:
我怎样才能优化我的导入,以便一行就足以满足所有与 Manim 有关的内容? (仅 from manimlib import *
使用 Spyder3 编辑器就可以正常工作。)
正如@Mike Scotty 在他的评论中指出的那样,import *
和 from a import *
通常是个坏主意,因为 python 不知道要导入什么,尤其是如果有多个 类 同名。
IDE不抱怨并不意味着您的代码运行顺畅。
这里有几个选项:
- 有一个相当大的导入列表(这绝不是错误的),就像你在第二张图片中那样。
- 使用
import manimlib
并进行相当长的 function/class 调用: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 imports and pythons documentation on modules 以更好地了解导入的工作原理。