😇
az upgrade で Azure CLI をアップグレードしたらぶっ壊れた
執筆日
2025/08/06
バージョン
upgrade実行時の最新版
- azure-cli: 2.76.0
upgrade前ちゃんと覚えてませんが2.6x.yくらいで結構マイナーバージョンが変わってた気がします。CLI自体は毎月マイナーアップデートがあるようです。
概要
コマンドが上手くいかないところがあったのでGPT君に聞いたらaz upgrade
でアップグレードしてみて、的なことを言われたので実行しました。それ以降どのコマンドも動かなくなりました。
$ az account show
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/__main__.py", line 13, in <module>
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/telemetry.py", line 19, in <module>
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/telemetry/__init__.py", line 9, in <module>
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\portalocker/__init__.py", line 4, in <module>
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\portalocker/portalocker.py", line 11, in <module>
ImportError: DLL load failed while importing win32file: 指定されたモジュールが見つかりません。
az upgrade
しただけなのに……。Linuxのapt upgrade
をリスペクトしているのかもしれません。
対処
アンインストールして再インストール、パスの更新をしました。
$ winget uninstall Microsoft.AzureCLI
$ winget install Microsoft.AzureCLI
$ $env:PATH = [System.Environment]::GetEnvironmentVariable("PATH","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("PATH","User")
問題なく動くようになりました。
$ az version
{
"azure-cli": "2.76.0",
"azure-cli-core": "2.76.0",
"azure-cli-telemetry": "1.1.0",
"extensions": {}
}
原因
わかりません……。助けてください。
公式のパッケージインストーラーでインストールしたのをpowershell
上でアップグレードしたのが原因かと思ったのですが、公式ドキュメントにもこのコマンドで問題ないように書いてありました。
raki様よりコメント頂きましたが、pythonのバージョンとかで上手くいかなくなるのが原因の可能性があるようです。upgradeを実行するターミナルのPythonのバージョンが、インストールした時のシステムのPythonのバージョンと違う場合は注意した方が良いのかもしれません。(そんなの注意してられないので端からupgradeコマンドを使うのは避けた方が良いかも?)
気持ち
アップグレードに時間かかったのにアンインストールからの再インストールで更に時間かかって腹立つ~~~~~~~~~~~~~~~~~
参考
スペシャルサンクス
github copilot chat with Claude Sonnet 4 Agent
Discussion
概ね Ptyhon のバージョンがずれるせいだと思うので、az upgrade しないで再インストール(再インストールするとその時点での最新が再度インストールされるので upgradeするのと変わらない)するのが手っ取り早い?
ありがとうございます。
参照するpythonのバージョンは
az upgrade
を実行するターミナルの規定バージョン参照の可能性がある?→インストーラーを使ったインストール時はシステムの既定のPython参照しているのであればそこのバージョンがずれてると問題が発生しそう、という感じですかね。再インストールするのが手っ取り早い、が正しい感じしますね😭😭