更新とアップグレード後、構文エラーpython3が発生します。

更新とアップグレード後、構文エラーpython3が発生します。

コマンドを実行すると、 sudo apt update && sudo apt upgradeすべてが通常どおりエスカレーションされますが、最終的にはエラーが発生します。

/usr/lib/python3/dist-packages/pyVNC/Client.py:61: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if event is "Left":
/usr/lib/python3/dist-packages/pyVNC/Client.py:63: SyntaxWarning: "is" with a literal. Did you mean "=="?
  elif event is "Middle":
/usr/lib/python3/dist-packages/pyVNC/Client.py:65: SyntaxWarning: "is" with a literal. Did you mean "=="?
  elif event is "Right":
/usr/lib/python3/dist-packages/pyVNC/Client.py:61: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if event is "Left":
/usr/lib/python3/dist-packages/pyVNC/Client.py:63: SyntaxWarning: "is" with a literal. Did you mean "=="?
  elif event is "Middle":
/usr/lib/python3/dist-packages/pyVNC/Client.py:65: SyntaxWarning: "is" with a literal. Did you mean "=="?
  elif event is "Right"

コードを見ようとしましたが、何も思いませんでした。問題を解決する方法についてのアイデアはありますか?

ベストアンサー1

まず、そうです。これはエラーではなく警告です。それはおそらくこのライブラリを使っているからです。https://github.com/cair/pyVNC

そしてこの部分(/usr/lib/python3/dist-packages/pyVNC/Client.py:61)警告:

if event is "Left":
    button_id = 1
elif event is "Middle":
    button_id = 2
elif event is "Right":
    button_id = 4

メッセージに記載されているように 'is'の代わりに '=='を使用する必要があります。詳細については、この記事を参照してください。https://adamj.eu/tech/2020/01/21/why-does-python-3-8-syntaxwarning-for-is-literal/

もう1つの問題は、OSを更新するときにこの問題が発生する理由です。おそらくPythonスクリプトにvirtualenvを使用していないからです。だから私はこれをするように提案します:https://docs.python.org/3/library/venv.html

おすすめ記事