【问题标题】:Why Pycharm can find my module,but can't run it?为什么 Pycharm 可以找到我的模块,但无法运行它?
【发布时间】:2018-10-09 13:10:54
【问题描述】:

我是 Python 和 Pycharm 的新手。我按照教程写了下面的代码:

这段代码可以在 IDLE 上很好地运行。但是不能在 Pycharm 中运行。

我在网上搜索。我找到的答案是关于 Pycharm 解释器设置的。我的口译员设置很好。它可以找到模块。但是当我运行它时,有例外。
我花了几个小时试图解决这个问题,仍然不知道为什么。

【问题讨论】:

  • 能否提供包含异常的错误信息?
  • 请不要张贴您的代码图片。将您的代码粘贴到您的问题中将使社区更容易为您提供帮助。
  • 错误信息说:name 'Frame' is not defined
  • 将您的导入更改为“Tkinter”并再次尝试运行您的代码。
  • Tkinter 适用于 Python2.x。我使用 Python3.7。如果我改变它。错误信息说:No module named 'Tkinter' name 'Frame' is not defined

标签: python pycharm


【解决方案1】:

将您的文件名更改为 somethingelse.py

编辑(有更好的解释:)

这里发生的是 OP 正在尝试import tkinter。但是,由于他们将文件命名为“tkinter.py”,解释器认为这是 OP 引用的模块。由于这个原因,OP 没有得到想要的结果,而是得到一个关于缺少属性的错误。

这可能适用于 IDLE 环境中的 OP,因为 IDLE 允许您从环境中执行代码,就像您在终端中一样。 Pycharm 试图让 Python 解释器执行 OP 提取的 .py 文件。

有关 Python 的导入系统如何工作的更多信息可以在这里找到:https://docs.python.org/3/reference/import.html

【讨论】:

  • 你不能。如果这样做,导入语句将解析为您的模块,而不是您要导入的模块。
  • 非常感谢。我浪费了很多时间。
  • @KaiyangLi 正确,你把解释器弄糊涂了!
猜你喜欢
  • 2019-05-28
  • 2014-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-23
  • 1970-01-01
  • 2017-06-28
相关资源
最近更新 更多