やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

ラズパイ4B bookworm pipx をインストールする

 pipxPythonのパッケージマネージャ。

pipx

 pipxにアクセスしてREADMEを読む。

 以下コマンドでインストールする。

sudo apt update
sudo apt install pipx
pipx ensurepath
sudo pipx ensurepath --global # optional to allow pipx actions with --global argument

エラー

エラー1

 以下のようなエラーログが延々と出る。

Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is heWaiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend.
sudo rm -rf /var/lib/dpkg/lock /var/lib/dpkg/lock-frontend 

エラー2

sudo apt install pipx
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libbasicusageenvironment1 libgroupsock8 liblivemedia77 python3-v4l2
これを削除するには 'sudo apt autoremove' を利用してください。
以下の追加パッケージがインストールされます:
  fonts-font-awesome ghp-import libjs-bootstrap4 libjs-highlight.js libjs-lunr libjs-modernizr libjs-popper.js libjs-sizzle mkdocs node-jquery python3-argcomplete
  python3-dateutil python3-iniconfig python3-joblib python3-livereload python3-lunr python3-markdown python3-mergedeep python3-nltk python3-packaging python3-pluggy
  python3-py python3-pytest python3-pyyaml-env-tag python3-regex python3-tornado python3-userpath python3-watchdog python3-yaml sphinx-rtd-theme-common
提案パッケージ:
  libjs-es5-shim mkdocs-doc nodejs coffeescript node-less node-uglify python-livereload-doc python3-django python3-slimmer python-lunr-doc python-markdown-doc subversion
  python3-pycurl python-tornado-doc python3-twisted
推奨パッケージ:
  prover9
E: Could not get lock /var/cache/apt/archives/lock. It is held by process 5683 (apt)
N: Be aware that removing the lock file is not a solution and may break your system.
E: ディレクトリ /var/cache/apt/archives/ をロックできません
sudo rm /var/cache/apt/archives/lock

成功

sudo apt install pipx
8,131 kB のアーカイブを取得する必要があります。
この操作後に追加で 29.8 MB のディスク容量が消費されます。
続行しますか? [Y/n] Y

pipx

version

$ pipx --version
1.1.0

help

$ pipx --help
usage: pipx [-h] [--version] {install,inject,upgrade,upgrade-all,uninstall,uninstall-all,reinstall,reinstall-all,list,run,runpip,ensurepath,environment,completions} ...

Install and execute apps from Python packages.

Binaries can either be installed globally into isolated Virtual Environments
or run directly in a temporary Virtual Environment.

Virtual Environment location is /home/pi/.local/pipx/venvs.
Symlinks to apps are placed in /home/pi/.local/bin.

optional environment variables:
  PIPX_HOME             Overrides default pipx location. Virtual Environments will be installed to $PIPX_HOME/venvs.
  PIPX_BIN_DIR          Overrides location of app installations. Apps are symlinked or copied here.
  PIPX_DEFAULT_PYTHON   Overrides default python used for commands.
  USE_EMOJI             Overrides emoji behavior. Default value varies based on platform.

options:
  -h, --help            show this help message and exit
  --version             Print version and exit

subcommands:
  Get help for commands with pipx COMMAND --help

  {install,inject,upgrade,upgrade-all,uninstall,uninstall-all,reinstall,reinstall-all,list,run,runpip,ensurepath,environment,completions}
    install             Install a package
    inject              Install packages into an existing Virtual Environment
    upgrade             Upgrade a package
    upgrade-all         Upgrade all packages. Runs `pip install -U <pkgname>` for each package.
    uninstall           Uninstall a package
    uninstall-all       Uninstall all packages
    reinstall           Reinstall a package
    reinstall-all       Reinstall all packages
    list                List installed packages
    run                 Download the latest version of a package to a temporary virtual environment, then run an app from it. Also compatible with local `__pypackages__`
                        directory (experimental).
    runpip              Run pip in an existing pipx-managed Virtual Environment
    ensurepath          Ensure directories necessary for pipx operation are in your PATH environment variable.
    environment         Print a list of variables used in pipx.constants.
    completions         Print instructions on enabling shell completions for pipx

所感

 正直ウンザリしている。Pythonのツールに。Pythonの環境構築まわりは次々とアプリが出てきては変わり、学習コストがかかる。Pythonのビルド、Pythonバージョン管理、パッケージ管理、仮想環境、それぞれに複数のツールが出てきては消えていき毎回学習が必要という地獄。さらには管理ツールを管理するツールanyenvなども出てきて、一体いつになったら本題に入れるんだ状態。

 今回のpipxも同じだろう。もうPythonの環境自体触りたくないし、インストールもしたくないのだが、使っているツールの最新版をインストールするのに必要そうだったので仕方なく入れた。

 どうせインストールで躓くんだろうなと思ったら、ラズパイOSのパッケージマネージャの時点で躓いた。先が思いやられる。