我使用 Pycharm (2019.1.2 x64) 已经有一段时间了,我从未更改过标准设置。
标准设置以橙色显示关键字(def
、class
、if
),按 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/