🌐
CLI内のpythonのバージョン設定とそれに付随する不具合
python3→python3.10に移行するにあたって、gnomeのターミナルのデフォルト設定が、固定またはオートになっていることが原因で、pythonのバージョンが(適切に)更新できず、すべてのアプリケーション更新できなくなり続ける『負の連鎖』でpythonが更新できないと、ufwやらvpnやらセキュリティ関連まで更新できず青ざめることになりました(笑)
dpkg: error processing package swift (--configure):
dependency problems - leaving unconfigured
No apport report written because MaxReports is reached already
No apport report wr
itten because MaxReports is reached already
Errors were encountered while processi
ng:
python3-requests-toolbelt
python3-pbr
python3-openssl
python3-pyinotify
python3-oslo.serialization
python3-memcache
python3-debtcollector
python3-oslo.config
python3-tempita
python3-iso8601
python3-rfc3986
python3-paste
python3-pyeclib
python3-keystoneclient
python3-greenlet
python3-oslo.context
python3-xattr
python3-netaddr
python3-dnspython
python3-os-service-types
python3-stevedore
python3-msgpack
python3-oslo.cache
python3-oslo.log
python3-pycadf
python3-oslo.i18n
python3-keystoneauth1
python3-webob
python3-pastescript
python3-swift
python3-keystonemiddleware
python3-pastedeploy
python3-oslo.utils
python3-dogpile.cache
python3-eventlet
swift
E: Sub-process /usr/bin/dpkg returned an error code (1)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
こういった具合にpython関連のライブラリだけ、すべて弾かれるという現象が起き、通常であれば、
cd /var/lib/dpkg/info
sudo ls |grep hogehoge
でキャッシュを消してsudo apt autoremove もしくは、
cd /var/cache/apt/archives
sudo dpkg -i hogehoge.deb
で解決できるのですが、CLIのpython設定がそもそも固定になっていた場合(もしくは固定にしてしまっていた場合)上記のように、pythonライブラリに付随するものだけが、エラーですべて弾かれるという現象が起きます。
解決策からいうと
~$ sudo update-alternatives --config python3
There is 1 choice for the alternative python3 (providing /usr/bin/python3).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/python3.10 2 auto mode
1 /usr/bin/python3.10 2 manual mode
Press <enter> to keep the current choice[*], or type selection number: 1
でpyhonのバージョン変更をマニュアルもしくはオートで変更したのち、
sudo apt install python3.10-distutils
#そのバージョンのアップデート漏れを解消してくれます
今すぐ必要な情報ではないかもしれませんが、頭の片隅に入れておくと便利です。
備忘録として置いておきます。
aptエラーでpython関連ばかり弾かれるときは、これを試してみてください。
参考記事
Discussion