【问题标题】:Print [Python] seen as a keyword in Pycharm打印 [Python] 在 Pycharm 中被视为关键字
【发布时间】:2020-12-07 21:33:45
【问题描述】:

我使用 Pycharm (2019.1.2 x64) 已经有一段时间了,但我从未更改过标准设置。 标准设置以橙色显示关键字(defclassif),按 Tab 将自动完成关键字并添加空格,内置函数(sum()map()print())显示为紫色,按 Tab 将自动补全函数名称,添加括号并将光标移动到括号内。

这是所需的行为,也是我在 Pycharm 中打开任何项目时得到的结果,除了一个。

在一个项目中,这种行为突然发生了变化,我除了编写和运行代码之外什么也没做。 我注意到,因为制表符突然开始缩进 8 个空格而不是 4 个,没什么大不了的,我在 IDE 底部将它改回 4,但我也注意到 print 被视为关键字(所以橙色没有括号)而是作为一个内置函数,就像在 Python2 中一样(我从未使用过它,项目的解释器是 Python 3.7)。 from __future__ import print_function 会再次将 print 变成一个函数,但它是 Python2 的东西。

我通过创建一个新的虚拟环境并再次设置解释器来修复它,所以我的问题是: 是什么导致了这种意外行为?

在处理我最“严肃”的项目时,我想避免这种情况。谢谢大家。

【问题讨论】:

  • 似乎是一个错误。但是,如果没有任何关于您在更改之前实际做了什么的信息,就很难回答这个问题。您是否更改了运行配置?您是否创建了一个新文件?你开始申请了吗?您是否更改了任何环境变量?
  • 不,这个项目只是几个 python 文件,我在其中编写解决方案来解决来自hackerank 或 codility 等网站的问题,所以它是 vanilla Python。我所做的就是写行并使用绿色箭头按钮运行它们。

标签: python python-3.x pycharm


【解决方案1】:

新答案

嗯,这发生在我昨天,当我在我的 tkinter 项目上工作时。它在from tkinter import *“Python 2.7 中不支持模块”中显示了 tkinter,即使我使用的是 Python 3.8。

解决方案一

为了解决这个问题,我只是去了

File > Settings > Appearance and Behavior > System Settings > Updates

并将 PyCharm 更新到最新版本。它对我有用。

解决方案二

我发现的另一种方法是去

Press Shift Key Twice > Typing "Restore Default Settings"

这样做还会部分恢复所有设置并为我解决问题。

为什么会这样?

这是由于旧版本的 PyCharm 中的一个错误(可能)。我在测试 Python 2.7 中的一些 Google API 时遇到了这个错误。如果您曾经打开一个包含 Python 2.7 Interpreter 的项目并打开另一个使用 Python 3 及更高版本的项目,PyCharm 会认为编写的代码是用 Python 2.7 编写的,并根据它来格式化指南。一些例子可以是"f" in print(f"{some_variable_here}") being shown as "Not Supported In Python 2.7". 这只是我的理论我可能完全错了。

老答案

您在使用 macOS 吗?如果是,macOS 预装了 Python 2。所以可能这可能是一个错误。我建议去右下角,那里会写“Python(版本)”。如果它不是 3 或更高版本(如 2),请单击它,然后转到“解释器设置”,然后从下拉菜单中选择您设备上安装的其他 Python 解释器。

如果这不起作用,则可能是主题错误,或者与 PyCharm 本身有关(可能)。重新安装和清除缓存应该可以工作。

【讨论】:

  • 不,我不在 Mac 上,也没有安装 Python 2,代码仍然作为 Python 3 执行,但 Pycharm 将其视为 Python2,我已经解决了,我想我会报告它作为jetbrains的错误
  • 对不起,我花了一段时间才回答,但我自己却找不到解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多