pyenv#
GitHub - pyenv/pyenv: Simple Python version management
github.com
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
まぁこんなものです。
以上#
以上です。終わり。
眠いね。