簡體   English   中英

打印 [Python] 在 Pycharm 中被視為關鍵字

[英]Print [Python] seen as a keyword in Pycharm

我使用 Pycharm (2019.1.2 x64) 已經有一段時間了,但我從未更改過標准設置。 標准設置顯示關鍵字( def , class , if )為橙色,按 Tab 將自動完成關鍵字並添加空格,內置函數( sum()map()print() )顯示為紫色並按選項卡將自動完成 function 名稱,添加括號並將 cursor 移動到括號內。

這是所需的行為,這就是我在 Pycharm 中打開任何項目時得到的結果,除了一個。

在一個項目中,這種行為突然發生了變化,我除了編寫和運行代碼之外什么也沒做。 我注意到,因為制表符突然開始縮進 8 個空格而不是 4 個,沒什么大不了的,我在 IDE 的底部將它改回 4,但我也注意到print被視為關鍵字(所以橙色沒有括號)而不是一個內置的 function,就像在 Python2 中一樣(我從未使用過它,項目的解釋器是 Python 3.7)。 from __future__ import print_function會再次將print變成 function ,但它是 Python2 的東西。

我通過創建一個新的虛擬環境並再次設置解釋器來修復它,所以我的問題是:是什么導致了這種意外行為?

在處理我最“嚴肅”的項目時,我想避免這種情況。 謝謝大家。

新答案

好吧,這發生在我昨天,當時我正在處理我的 tkinter 項目。 It showed tkinter in from tkinter import * "Module not supported in Python 2.7", even though I was using Python 3.8.

解決方案一

為了解決這個問題,我只是去了

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

並將 PyCharm 更新到最新版本。 它對我有用。

解決方案二

我發現的另一種方法是 go 到

Press Shift Key Twice > Typing "Restore Default Settings"

這樣做也將部分恢復所有設置並為我解決問題。

為什么會這樣?

這是由於舊版本的 PyCharm 中的錯誤(可能)。 我在測試 Python 2.7 中的一些 Google API 時遇到了這個錯誤。 If you ever opened a project containing Python 2.7 Interpreter and opened another project that is in Python 3 and above, PyCharm thinks that the code that is written is in Python 2.7 and just formats the guide according to it. 一些示例可能是"f" in print(f"{some_variable_here}") being shown as "Not Supported In Python 2.7". 這只是我的理論,我在這里可能完全錯了。

舊答案

你在使用 macOS 嗎? 如果是,macOS 預裝了 Python 2。 所以這可能是一個錯誤。 我建議轉到右下角,那里會寫“Python(版本)”。 如果它不是 3 或更高版本(如 2),請單擊它,然后將 go 轉到“解釋器設置”,然后從下拉菜單中 select 安裝在您的設備上的其他 ZA7F5F35426B96378277 解釋器。

如果這不起作用,則可能是主題錯誤,或者與 PyCharm 本身有關(可能)。 重新安裝和清除緩存應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM