適当おじさんの適当ブログ

技術のことやゲーム開発のことやゲームのことなど自由に雑多に書き連ねます

pyenv + virtualenv から pipenv への乗り換えメモ

pyenv + virtualenv の環境を pipenv 乗り換え時のメモを残しておきます。乗り換えは非常に簡単です。

  1. requirements.txt を作成する
  2. .python-version を削除する
  3. pipenv install を実行する

1. requirements.txtを作成する

pipenv 実行時に requirements.txt がある場合、読み込んでくれるのであらかじめ作っておきます。すでに存在する場合はこの作業は必要ありません。

pip freeze を実行するとインストール済みパッケージが出力されるので、それを requirements.txt に出力します。

$ pip freeze > requirements.txt

2. .python-versionを削除する

pyenv と virtual-env で仮想環境を作成している場合、Pythonのバージョンは .python-version に記録されています。

この時点で乗り換え対象のプロジェクトのPythonのバージョンを確認しておきましょう。以下のいずれの方法でも構いません。

$ python --version
python> import platform
python> pratform.python_version()

バージョンを確認したら .python-version は乗り換えにあたって不要となるので削除しておきましょう。

3. pipenv を使う

pipenvはバージョン直接指定とn系指定ができます。

pipenvでは pipenv installpipenv --python x.x.x の2つのコマンドで環境構築できます。

pipenv install 実行時に requirements.txt があればそれを読み込み必要なパッケージもインストールしてくれます。

$ pipenv install
$ pipenv --python 3.6.2
$ pipenv --three
$ pipenv --two

requirements.txt に含まれているパッケージは、Pipfileに記載されているので確認してみてください。作成した環境へのスイッチングは、pipenv shell で可能です。 pipenv shell 実行後、 python --versionwhich python で念のため確認しておくと良いです。