ま、そんなところで。

ニッチな技術系メモとか、車輪を再発明してみたりとか.

(Ubuntu24.04) pyenvでpython環境インストール時に発生したエラー対処メモ

Ubuntu 24.04 環境でpyenvを使用してpython環境をinstallするときのエラー対処一覧メモ.

1. インストール時にpythonのビルドスクリプトでエラー

ホスト環境に 'python3-venv' が必要なようです.

sudo apt install python3-venv

以下に情報がありました.
stackoverflow.com

2. python環境のビルドエラー/警告の対処

(1) ModuleNotFoundError: No module named '_ssl'

ModuleNotFoundError: No module named '_ssl'
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

'libssl-dev' をインストールします.
これが無いとビルドエラーでインストール失敗するみたいです

(2) ModuleNotFoundError: No module named '_bz2'

ModuleNotFoundError: No module named '_bz2'
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?

'libbz2-dev' をインストールします.

(3) ModuleNotFoundError: No module named '_curses'

ModuleNotFoundError: No module named '_curses'
WARNING: The Python curses extension was not compiled. Missing the ncurses lib?

'libncurses-dev' をインストールします.

(4) ModuleNotFoundError: No module named 'readline'

ModuleNotFoundError: No module named 'readline'
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?

libreadline-dev をインストールします.

(5) ModuleNotFoundError: No module named '_tkinter'

ModuleNotFoundError: No module named '_tkinter'
WARNING: The Python tkinter extension was not compiled and GUI subsystem has been detected. Missing the Tk toolkit?

tk-dev (tk8.6-dev) をインストールします.

(6) ModuleNotFoundError: No module named '_lzma'

ModuleNotFoundError: No module named '_lzma'
WARNING: The Python lzma extension was not compiled. Missing the lzma lib?

liblzma-dev をインストールします.

2. 今回エラーは出ていないけど、おそらく必要なライブラリ

今回エラーは出てませんでしたが、他のパッケージとともにインストール済みで必要と思われるものです.

(1) zlib

gzip圧縮のライブラリ.
おそらくdevパッケージがない場合エラーか警告となるはず・・。

zlib1g-dev をインストールします.

(2) sqlite3

軽量のファイルDBの開発パッケージ.
これも必須だった気がします.

libsqlite3-dev をインストールします.

(3) libffi

debugpy モジュールで、ブレークポイントを張るような環境の場合、ffiライブラリをリンクさせておきます.
このライブラリがリンクされていないと、_ctype のが参照できず、インストールしたpython環境でブレークポイントを張ったデバッグができません.

libffi-dev をインストールします.

詳しいことはこちらに・・ zv-louis.hatenablog.com

3 .まとめ

ということで、下記のコマンドで一括インストールすればすんなりといくはず.

sudo apt install python3-venv libssl-dev libncurses-dev libreadline-dev tk-dev libbz2-dev liblzma-dev libffi-dev zlib1g-dev libsqlite3-dev