メインコンテンツへスキップ

pyenvを自動セットアップするスクリプト書いた

·2 分· loading ·
Blog Python
さめのこ
書いた人
さめのこ
16歳、高校生。何の変哲も無い変態
目次

pyenv
#

pythonのバージョンを管理して使えるやつです。
個人的に特定のディレクトリで特定のバージョンのpython使えるのは便利ですね。

まぁまぁセットアップの手順忘れるので勝手にセットアップしてくれるスクリプトを書いて便利にしました。

使い方
#

推奨環境
#

  • Ubuntu

一応Archでも使えるかも(そのように書いたけど未検証)


curl https://samenoko.xyz/autopyenv.sh | bash

最後に出てくるメッセージがあります。

Setup complete! Please restart your terminal or run 'source /home/mimi/.bashrc' to apply the changes.

クオーテーションされてるやつを実行すると環境変数が再読み込みされます。若しくは再起動でもOK。

ダウンロードしたくない人向け
#

#!/bin/bash

# OS判定
if [ -f /etc/os-release ]; then
    . /etc/os-release
    OS=$ID
else
    echo "Unsupported OS."
    exit 1
fi

# シェルの種類を判定
SHELL_NAME=$(basename $SHELL)
PROFILE_FILE=""
case "$SHELL_NAME" in
    bash) PROFILE_FILE="$HOME/.bashrc" ;;
    zsh)  PROFILE_FILE="$HOME/.zshrc" ;;
    *)    PROFILE_FILE="$HOME/.profile" ;;
esac

# 必要な依存関係をインストール
install_dependencies() {
    echo "Installing dependencies for $OS..."
    if [ "$OS" = "ubuntu" ]; then
        sudo apt update && sudo apt upgrade -y
        sudo apt install -y \
            make build-essential libssl-dev zlib1g-dev \
            libbz2-dev libreadline-dev libsqlite3-dev \
            wget curl llvm libncursesw5-dev xz-utils \
            tk-dev libxml2-dev libxmlsec1-dev libffi-dev \
            liblzma-dev
    elif [ "$OS" = "arch" ]; then
        sudo pacman -Syu --noconfirm
        sudo pacman -S --noconfirm \
            base-devel openssl zlib \
            bzip2 readline sqlite wget curl \
            llvm ncurses xz tk \
            libxml2 libffi lzma
    else
        echo "Unsupported OS: $OS"
        exit 1
    fi
}

# pyenvのインストール
install_pyenv() {
    echo "Installing pyenv..."
    curl https://pyenv.run | bash

    echo "Configuring shell for pyenv..."
    {
        echo '# Pyenv configuration'
        echo 'export PYENV_ROOT="$HOME/.pyenv"'
        echo 'export PATH="$PYENV_ROOT/bin:$PATH"'
        echo 'eval "$(pyenv init --path)"'
        echo 'eval "$(pyenv init -)"'
    } >> "$PROFILE_FILE"

    # 設定を反映
    source "$PROFILE_FILE"
}

# 実行処理
install_dependencies
install_pyenv

echo "Setup complete! Please restart your terminal or run 'source $PROFILE_FILE' to apply the changes."

のち
#

終わったらPythonをセットアップしよう。

pyenv install 3.10.11
pyenv global 3.10.11

まぁこんなものです。

以上
#

以上です。終わり。

眠いね。