🐍
Raspberry Pi上のpython開発環境整備(仮想環境)
またPythonの勉強が必要になり余っていたRaspberry Pi 3A+に開発環境を整備することにしました。
以前も仮想環境を整備しましたが今回はpyenvとプラグインであるpyenv-virtualenvを使用することにしました。
ハード
Raspberry Pi 3 Model A Plus Rev 1.0
OS
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
pyenvインストール
gitインストール
githubから取得するために必要でした。
$ sudo apt install git
pyenvインストール
$ sudo curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
~/.bashrcの修正
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init - bash)"
eval "$(pyenv virtualenv-init -)"
.bashrcをリロードしてpyenvのバージョン確認
$ source ~/.bashrc
$ pyenv -v
pyenv 2.5.4
python3.13.2インストール
必要なパッケージインストール
$ sudo apt install wget build-essential libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev -y
sudo apt install lzma-dev liblzma-dev
pyenvを使用してpythonインストール
$pyenv install 3.13.2
Downloading Python-3.13.2.tar.xz...
-> https://www.python.org/ftp/python/3.13.2/Python-3.13.2.tar.xz
Installing Python-3.13.2...
Installed Python-3.13.2 to /home/hoge/.pyenv/versions/3.13.2
$ yenv versions
* system (set by /home/hoge/.pyenv/version)
3.13.2
pipコマンドについて
python3.13.2をインストールしたためか最初からかは不明ですがOSに含まれていたpython3.11.2の状態ではpipコマンドが使用できませんでした。
$ pip -V
pyenv: pip: command not found
The `pip' command exists in these Python versions:
3.13.2
Note: See 'pyenv help global' for tips on allowing both
python2 and python3 to be found.
試しにshell上のpythonを3.13.2に切り替えた状態であればpipコマンドも使用可能でした。
$ pyenv shell 3.13.2
$ pip -V
pip 24.3.1 from /home/hoge/.pyenv/versions/3.13.2/lib/python3.13/site-packages/pip (python 3.13)
pyenv-virtualenvを使用した仮想環境の作成
仮想環境を作成してアプリの開発フォルダとの紐付け
仮想環境(python実行モジュール)作成
インストールしたpython3.13.2をベースにアプリ開発用のpython3.13.2実行モジュールを複製
$ pyenv virtualenv 3.13.2 <仮想環境名>
$ pyenv versions
* system (set by /home/hoge/.pyenv/version)
3.13.2
3.13.2/envs/<仮想環境名>
3.13.2.env1 --> /home/hoge/.pyenv/versions/3.13.2/envs/<仮想環境名>
アプリ開発用のフォルダ(project1)に開発環境を紐付け
アプリ開発用フォルダ内では複製したpythonの実行モジュールを使用する様に紐付け(.python-versionが作成される)
$ mkdir src/project1
$ cd project1/
$ pyenv local <仮想環境名>
(<仮想環境名>) hoge:~/src/project1 $ python --version
Python 3.13.2
Discussion