การอัปเดต Xcode ทำลาย gcloud และ gsutil

Oct 07 2020

ไม่กี่ชั่วโมงที่ผ่านมาฉันได้อัปเดต Xcode เป็นเวอร์ชันล่าสุดซึ่งทำให้เกิดgcloudและgsutilคำสั่งหยุดทำงาน ตัวอย่างเช่นนาทีก่อนการอัปเดตเสร็จสิ้นคำสั่งgsutil -m rsyncทำงานได้ดี

ขณะที่เขียนคำถามนี้ฉันสังเกตเห็นว่าฉันไม่ได้gitทำงานแล้ว

เนื่องจากฉันไม่ใช่ Python มีใครช่วยอธิบายให้ฉันฟังหน่อยได้ไหมว่าเกิดอะไรขึ้นตอนนี้ ฉันชอบความช่วยเหลือ

python -Vเอาต์พุตคือPython 2.7.16.

python3 -Vเอาต์พุตคือPython 3.9.0.

pip -V เอาต์พุตคือ pip 20.2.3 from /Users/<MY_USER>/Library/Python/2.7/lib/python/site-packages/pip (python 2.7)

pip3 -V เอาต์พุตคือ pip 20.2.3 from /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip (python 3.9)

นี่คือสิ่งที่ฉันได้รับจากgcloud help:

Traceback (most recent call last):
  File "/Users/<MY_USER>/gcloud/sdk/lib/gcloud.py", line 104, in <module>
    main()
  File "/Users/<MY_USER>/gcloud/sdk/lib/gcloud.py", line 62, in main
    from googlecloudsdk.core.util import encoding
  File "/Users/<MY_USER>/gcloud/sdk/lib/googlecloudsdk/__init__.py", line 23, in <module>
    from googlecloudsdk.core.util import importing
  File "/Users/<MY_USER>/gcloud/sdk/lib/googlecloudsdk/core/util/importing.py", line 23, in <module>
    import imp
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/imp.py", line 23, in <module>
    from importlib import util
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/util.py", line 2, in <module>
    from . import abc
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/abc.py", line 17, in <module>
    from typing import Protocol, runtime_checkable
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/typing.py", line 26, in <module>
    import re as stdlib_re  # Avoid confusion with the re we export.
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/re.py", line 124, in <module>
    import enum
  File "/Users/<MY_USER>/gcloud/sdk/lib/third_party/enum/__init__.py", line 26, in <module>
    spec = importlib.util.find_spec('enum')
AttributeError: module 'importlib' has no attribute 'util'

และนี่คือสิ่งที่ฉันได้รับจากgsutil help:

Traceback (most recent call last):
  File "/Users/<MY_USER>/gcloud/sdk/bin/bootstrapping/gsutil.py", line 13, in <module>
    import bootstrapping
  File "/Users/<MY_USER>/gcloud/sdk/bin/bootstrapping/bootstrapping.py", line 32, in <module>
    import setup  # pylint:disable=g-import-not-at-top
  File "/Users/<MY_USER>/gcloud/sdk/bin/bootstrapping/setup.py", line 57, in <module>
    from googlecloudsdk.core.util import platforms
  File "/Users/<MY_USER>/gcloud/sdk/lib/googlecloudsdk/__init__.py", line 23, in <module>
    from googlecloudsdk.core.util import importing
  File "/Users/<MY_USER>/gcloud/sdk/lib/googlecloudsdk/core/util/importing.py", line 23, in <module>
    import imp
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/imp.py", line 23, in <module>
    from importlib import util
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/util.py", line 2, in <module>
    from . import abc
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/abc.py", line 17, in <module>
    from typing import Protocol, runtime_checkable
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/typing.py", line 26, in <module>
    import re as stdlib_re  # Avoid confusion with the re we export.
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/re.py", line 124, in <module>
    import enum
  File "/Users/<MY_USER>/gcloud/sdk/lib/third_party/enum/__init__.py", line 26, in <module>
    spec = importlib.util.find_spec('enum')
AttributeError: module 'importlib' has no attribute 'util'

คำตอบ

11 ronen3 Oct 07 2020 at 17:02

ดังนั้นหลังจากที่เกือบจะเป็นวันที่มีอะไรผมพบว่าวิธีการแก้ปัญหา: สิ่งที่ผมต้องทำคือการตั้งค่าตัวแปรสภาพแวดล้อมที่มีชื่อไปCLOUDSDK_PYTHON/usr/bin/python

ฉันแก้ไข.zprofileและเพิ่ม:

export CLOUDSDK_PYTHON="/usr/bin/python"

ฉันยังไม่รู้ว่ามันเกิดจากอะไรดังนั้นฉันจะยินดีสำหรับคำอธิบายหากใครก็ตามที่ใส่ใจที่จะสละเวลา