2024/07/15(月) [n年前の日記]
#1 [python] MSYS2上でrangerが動かなくなっていた
Windows10 x64 22H2 + MSYS2 + MinGW64 の環境で、CUIで利用できるファイラー ranger を起動しようとしたら、import ranger の行で「そんなモジュールは無い」とエラーが出てしまった。変だな。以前インストールしていたはずなのだけど。
pip install ranger-fm と打ってみたら警告が出てきてインストールできなかった。
ググってみたら、最近の pip はシステム側のPythonにモジュールをインストールできない仕様になっていたらしい。
_俺流!PEP668とうまくやっていく方法 | スクエニ ITエンジニア ブログ
_pipで--break-system-packagesの問題について - Qiita
「--break-system-packages」をつけることで、システムを破壊してでもインストールせよ、という指定になるらしい。ranger が動かないと色々不便なので、この際インストールしてしまうことにした。どうせ今までもインストールしていたのだし…。
しかし、こんな仕様になってしまったら、Python で作られたこの手のツールは ―― システム側にインストールすることを前提にして作ってあったツール群は困ってしまうのではないか…? 何もかもが、仮想環境を作ってその中で開発するプロジェクトというわけでもないだろうに…。
pip install ranger-fm と打ってみたら警告が出てきてインストールできなかった。
$ pip install ranger-fm error: externally-managed-environment This environment is externally managed -> To install Python packages system-wide, try 'pacman -S python-xyz', where xyz is the package you are trying to install. If you wish to install a non-MSYS2-packaged Python package, create a virtual environment using 'python -m venv path/to/venv'. Then use path/to/venv/bin/python and path/to/venv/bin/pip. note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages. hint: See PEP 668 for the detailed specification.
ググってみたら、最近の pip はシステム側のPythonにモジュールをインストールできない仕様になっていたらしい。
_俺流!PEP668とうまくやっていく方法 | スクエニ ITエンジニア ブログ
_pipで--break-system-packagesの問題について - Qiita
「--break-system-packages」をつけることで、システムを破壊してでもインストールせよ、という指定になるらしい。ranger が動かないと色々不便なので、この際インストールしてしまうことにした。どうせ今までもインストールしていたのだし…。
pip install ranger-fm --break-system-packages
しかし、こんな仕様になってしまったら、Python で作られたこの手のツールは ―― システム側にインストールすることを前提にして作ってあったツール群は困ってしまうのではないか…? 何もかもが、仮想環境を作ってその中で開発するプロジェクトというわけでもないだろうに…。
[ ツッコむ ]
以上です。