python - 打印 [Python] 在 Pycharm 中被视为关键字

标签 python python-3.x pycharm

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

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

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

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

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

最佳答案

新答案

嗯,这件事发生在我昨天,当时我正在做我的 tkinter 项目。它在 from tkinter import * 中显示了 tkinter “Python 2.7 不支持模块”,即使我使用的是 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 解释器的项目,并打开了另一个使用 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 本身有关(可能)。重新安装并清除缓存可能应该有效。

关于python - 打印 [Python] 在 Pycharm 中被视为关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65049396/

相关文章:

python - 如何处理数据集中的匿名变量以获得更好的预测

python - 了解正则表达式

python - 无法从 'StandardScalar' 导入名称 'sklearn.preprocessing'

python-3.x - 使用可变键访问字典中的值

python - 将列表中的元素替换为包含所述元素的嵌套列表(python3)

python - 为什么for循环在python中退出 ""(空字符串)?

python - 为什么 a//b 和 np.floor(a/b) 产生不同的结果?

python - PyCharm 无法识别我的 Python 安装路径

python - 如何打包 Pycharm python 项目上传到 AWS Lambda?

winapi - 字体如何告诉操作系统 "I AM a MONSPACED/FIXED-WIDTH FONT"?