Zenn
🙆

PythonやRubyをバージョン使い分けする

2024/06/13に公開

はじめに

PythonやRubyを使う際に、バージョンを使い分けることがあります。

バージョンの使い分けする方法はpyenvやrbenvなど色々あると思いますが、
今回はDockerを利用してPythonやRubyのバージョンを使い分ける方法を紹介します。

前提条件

  • Dockerがインストールされていること

zshrc設定

  • ~/zshrc に以下を追記
# python For Docker
alias python38='docker run --rm -v $(pwd):/app -w /app python:3.8 python'
alias python39='docker run --rm -v $(pwd):/app -w /app python:3.9 python'
alias python310='docker run --rm -v $(pwd):/app -w /app python:3.10 python'
alias python311='docker run --rm -v $(pwd):/app -w /app python:3.11 python'
alias python312='docker run --rm -v $(pwd):/app -w /app python:3.12 python'


# Ruby For Docker
alias ruby27='docker run --rm -v $(pwd):/app -w /app ruby:2.7 ruby'
alias ruby30='docker run --rm -v $(pwd):/app -w /app ruby:3.0 ruby'
alias ruby31='docker run --rm -v $(pwd):/app -w /app ruby:3.1 ruby'
alias ruby32='docker run --rm -v $(pwd):/app -w /app ruby:3.2 ruby'
  • 読み込み
source ~/.zshrc

使い方

イメージをダウンロードしていない場合初回実行だけイメージのダウンロードが発生します。
2回目以降は新しいマイクロバージョンがリリースされない限り発生しないはずです。

Python版

  • helloworld.py というファイルを作成
import sys
print(sys.version)
  • python3.8を使いたい場合
python38 helloworld.py
  • python3.9を使いたい場合
python39 helloworld.py

Ruby版

  • helloworld.rb というファイルを作成
puts RUBY_VERSION
  • ruby3.1を使いたい場合
ruby31 helloworld.rb
  • ruby3.2を使いたい場合
ruby32 helloworld.rb

まとめ

Dockerを利用することで、ローカル環境を汚さず
PythonやRubyのバージョンを使い分けることができます。

Goals Tech Blog

Discussion

ログインするとコメントできます