python - 更新 manjaro 后 gcloud 无法正常工作
问题描述
我为我的 manjaro 安装进行了一些系统更新,之后在尝试运行时收到以下错误消息gcloud
:
gcloud components update
Traceback (most recent call last):
File "/home/mani/Downloads/google-cloud-sdk/lib/gcloud.py", line 104, in <module>
main()
File "/home/mani/Downloads/google-cloud-sdk/lib/gcloud.py", line 62, in main
from googlecloudsdk.core.util import encoding
File "/home/mani/Downloads/google-cloud-sdk/lib/googlecloudsdk/__init__.py", line 23, in <module>
from googlecloudsdk.core.util import importing
File "/home/mani/Downloads/google-cloud-sdk/lib/googlecloudsdk/core/util/importing.py", line 23, in <module>
import imp
File "/usr/lib/python3.9/imp.py", line 23, in <module>
from importlib import util
File "/usr/lib/python3.9/importlib/util.py", line 2, in <module>
from . import abc
File "/usr/lib/python3.9/importlib/abc.py", line 17, in <module>
from typing import Protocol, runtime_checkable
File "/usr/lib/python3.9/typing.py", line 26, in <module>
import re as stdlib_re # Avoid confusion with the re we export.
File "/usr/lib/python3.9/re.py", line 124, in <module>
import enum
File "/home/mani/Downloads/google-cloud-sdk/lib/third_party/enum/__init__.py", line 26, in <module>
spec = importlib.util.find_spec('enum')
AttributeError: module 'importlib' has no attribute 'util'
上网查了一下,发现问题可能是这个版本gcloud
不支持python3.9,推荐的解决方案是运行gcloud components update
,但是报同样的错误。有没有办法可以恢复或使命令使用较旧的 python 版本来升级自身,然后返回到新的 python 3.9?
解决方案
根据以下GCP 官方文档,您可以通过删除主目录将 Cloud Shell 虚拟机恢复到原始状态,如下所示:
ls -a $HOME
sudo rm -rf $HOME
现在在 Cloud Shell 中单击三点菜单并重新启动 VM 将创建一个新 VM,并且主目录将恢复为默认状态。
由于您在本地计算机中遇到问题,经过研究,我注意到PIT1是 Google 问题跟踪器中的一个错误。现在在以下线程上几乎没有 WA,您可以相应地应用它。
还有另一个PIT2作为功能请求以添加对 python 3.9 的支持。如果您对此问题有任何其他意见或疑虑,请随时在此处发布。
在github中找到的另一个 WA可能对您的用例有用。
推荐阅读
- python - 如何解决python中的Tkinter问题?
- php - 使用 PaymentIntent 进行 Stripe 3d 安全支付
- c# - WPF MVVM:组合框 SelectedValue 绑定
- elasticsearch - 弹性搜索的内存管理
- asp.net-core - 在控制器中使用 Autofac IComponentContext 是否正确?
- android - Mockk 在 Kotlin 中设置集合的私有属性
- string - 为什么程序中字符串的const ref仍然有效?
- sql - Sql query by date interval
- reactjs - 每次道具更改时都会运行 React hooks 函数
- symfony - How to inject Translator in webTestCase?