医療職からデータサイエンティストへ医療職からデータサイエンティストへ統計学、機械学習に関する記事をまとめています。初心者のPython環境構築とバージョン管理~pyenvとpyenv-virtualenvを使って~2020-06-02初心者のPython環境構築とバージョン管理~pyenvとpyenv-virtualenvを使って~PythonPythonの環境構築を行うには、様々なツールがあり、用途、好み、思想、宗教によってベストなものが異なるようです。Qiitaそして、この多様性が私のような環境構築弱者にとってのハードルとなります。今回は、そんなPythonの環境構築の流れをまとめてみました。今回は、以下のツールを用いた環境構築を行いました。mac使用しているため、windowsの場合は挙動が異なる可能性があることをご了承ください。仮想環境を有効化する。requirements.txtAppendixpyenv-virtualenvを使わず、venv簡易的に仮想環境を作る。環境構築ツールの必要性Python環境構築をする前に、どのような環境構築をすべきかかは、Pythonをどのように使用するかに依存します。上記にあげた4つのツールの必要性について書いていきますので、もし”そんなの必要ないよ”と思う方は、ツールの一部のみの使用でも問題ないかと思います。類似ツールもありますので、他のツールを使いたい方は調べてみてください。Macへのパッケージをインストールを簡易的にしてくれる。Macユーザー向けのパッケージ管理ツールです。Macにパッケージをインストールする際にHomebrewを使うことで、コマンド1行で済ますことができます。使わない場合は、サイトにいき、インストーラーをダウンロードして、インスールするといった作業を行う必要がありますので、特段のこだわりがなければ、使っておいて損はないと思います。pyenvとはPoint:様々なPythonバージョンを切り替えられる。Pythonには様々なバージョンがあり、実行する環境によって出力結果が変わってしまいます。Python3.7.0では使えなかったコードの記法がPython3.8.0では使えたり、逆もまた然りなど、バージョンを揃えていないとチーム作業やコードの再現で思わぬエラーが出てしまいます。そこでpyenvを使うと、作業ディレクトリごとにPythonのバージョンを切り替えたり、いつでも任意のバージョンを使用したりできます。類似ツール:Dockerpyenv-virtualenvとはPoint:仮想環境を作業ディレクごとに作成できる。パッケージをインストールする際にpipを使いますが、一つの環境には一つのバージョンのパッケージしか入れることができません。こっちの作業ではパッケージver1.0を使い、あっちの作業ではver2.0を使うといったことができないです。そこで、PC上に箱を作り、パーケージのインストールを、その箱内のみに適応させておきます。この箱を切り替えることで、様々な用途に合わせてPythonとパッケージのバージョンを切り替えることもできます。Virtualenv(Appendix参照)requirements.txtとはPoint:Pythonパッケージをバージョンを揃えて一括でインストールできる。~~を繰り返すことなく、コマンド1行で指定した全てのパッケージをインストールすることができます。類似ツール:Pipenv上記ツールのカバー範囲をまとめるとこんな感じになります。先ほど書いたように、ほとんどのツールに依存関係はないため(pyenv-virtualenvはpyenvが必要)、必要なツールのみを使用してもかまいません。環境構築を始めてみましょう。HomebrewのインストールHomebrewは以下の公式サイトにあるコマンドを実行するだけで、インストールできます。homebrewをインストールする前に、x-codeをインストールする必要があるとの紹介記事もあります。使うのはx-codeの一部かつ下記コマンドで勝手にインストールされるため、x-codeのインストールは必要ありません。https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"homebrewの基本な使い方は、以下の通りです。--prefixpyenv、pyenv-virtualenvのインストール続いてpyenv、pyenv-virtualenvをインストールします。windowsの方は、githubから直接インストールすることもできます。~/.pyenv/plugins/pyenv-virtualenvインストールが終われば、コマンドが使えるよう環境変数にPATHを通しまししょう。これで、準備完了です。Pythonのインストール次にpyenvを使ってpythonをインストールします。インストールできるものの一覧は以下のコマンドでみれます。今回はPython3.8.0をイントールしてみます。vesionsでインストールしたPython環境を確認できます。3.8.0pyenvの使い方pyenvで、Pythonバージョン切り替える方法は2種類あります。~~は全体に適応されます。移動するだけで、簡単にPython環境を切り替えることができます。続いて仮想環境を作成します。任意の仮想環境名です。練習のため、Python3.8.0でtest3.8.0という名前の仮想環境を作成しました。virtualenvsで仮想環境一覧を見ることができます。仮想環境を有効化する。作成してその中で仮想環境を有効化してみます。~~$これで仮想環境の作成は終わりです。出れば、元の環境ですし、もう一度入れば、仮想環境となっています。試しに仮想環境内でnumpyをインストールしてみます。installでインストールされたパッケージは仮想環境内でのみ使えるようになっています。virtualenvsで削除できます。requirements.txt最後は、requirements.txtの使い方です。example-requirements.txtとすると一度でパッケージをインストールすることができます。チームでは、これを管理することで、パッケージのバージョンを揃えます。バージョンのように書きます。>=などでバージョンの条件を指定し、何も書かなければ最新版がインストールされるようです。requirements.txtとするとrequirements.txtが作成できます。Appendixpyenv-virtualenvを使わず、venv簡易的に仮想環境を作る。pyenv-virtualenvは、Virtualenvという仮想環境を構築するツールを、pyenvとともに使いやすくしたツールです。内部ではVirtualenvを呼び出しているようです。pyenvを使わず仮想環境を作成する場合は、Virtualenvを使うか、Pythonにデフォルトで入っているvenvというツールで、簡易的に仮想環境を構築することもできます。今回は簡易的にvenvを使って仮想環境を作成してみます。deactivate※本記事は筆者が個人的に学んだことをまとめた記事になります。所属する組織の意見・見解とは無関係です。Codepyenv、pyenv-virtualenv、venvについてpyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。学んだこと、日々の所感をまとめていきます。※本ブログは筆者が個人的に学んだこと感じたことをまとめたブログになります。所属する組織の意見・見解とは無関係です。medi_data0826引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。