2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Pipenvでの基本的な環境構築

Last updated at Posted at 2022-03-26

Pythonパッケージの管理にPipenvを利用しています。

今回は、Pipenvで環境構築を行うときに、よく使用するコマンドをまとめました。

公式ドキュメント

前提

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

自分が環境構築をするとき

作業ディレクトリのpythonのバージョンを指定する

pyenvを使ってバージョンの切り替えを行います。

$ pyenv versions  # 使用できるインストール済みのPythonのバージョンが表示される

上記コマンドを打って表示されたバージョンの中から選択します。

$ pyenv local 3.9.1  # 現在のディレクトリでバージョンを指定する

これで、コマンドを実行したディレクトリに、.python-versionというファイルが生成され、バージョンが書き込まれています。

.python-version
3.9.1

pythonのバージョンを指定してpipfileを生成する

最初にpythonのバージョンを指定します。

$ pipenv --python 3.9  # 3.9でpipfileが生成される

これで、直下に次の2つのファイルが生成されます。

  • Pipfile: インストールパッケージの情報がかかれたもの
  • Pipfile.lock: インストールしたパッケージの細かいバージョン、ハッシュ、依存関係がかかれたもの

この2つを、他の人に共有すると、同じ仮想環境を再現することが可能になります。

パッケージをインストールする

基本のインストールコマンド

$ pipenv install google-cloud-tasks

インストールしていくと、上記のPipfilePipfile.lockが更新されていきます。

バージョンを指定してインストールしたい時

$ pipenv install "google-cloud-tasks==1.5.0"

Pipfileを書き換えてインストールしたい時

Pipfileを直接書き換えたのち、下記コマンドを打つことでもインストール可能です。

これであれば複数のパッケージを一度にインストールすることも可能です。

Pipfile
[packages]
google-cloud-tasks = "==1.5.0"
$ pipenv install

開発環境にのみインストールする

$ pipenv install flake8 --dev 

パッケージをアンインストールする

$ pip env uninstall google-cloud-tasks

requirements.txtを生成する

$ pipenv lock -r > requirements.txt

GAEでPythonのパッケージをインストールするには、requirements.txtが必要なため、よく使います。

以上で、基本的な仮想環境の定義は完了です。

この後、基本的に下記のファイルをgitに上げています。

  • .python-version
  • Pipfile
  • Pipfile.lock
  • requirements.txt

他の人が作った仮想環境を再現したい時(既存のPipfileとPipfile.lockから仮想環境を再現したい時)

PipfilePipfile.lockのあるディレクトリで下記コマンドを実行します。

$ pipenv sync

上記コマンドは、Pipfile.lockに従って仮想環境を再現します。

他にも、再現するためのコマンドは、

$ pipenv install  # Pipfileからインストール
$ pipenv update  # Pipfileからインストールし、アップデートがあればアップデートする

がありますがsyncであれば、同じ環境が再現でき、かつ、依存関係の確認がないため動作が早いです。

もし、Pipfileがなく、requirements.txtしかない場合は、下記コマンドでrequirements.txtからpipenvでインストールすることもできます。

$ pipenv install -r requirements.txt

pipenv installした後でやり直したくなった時

$ pipenv --rm  

私は、エラーなどで環境構築に失敗した場合、上記コマンドを打ったのち、PipfilePipfile.lockの差分をStashして、再度パッケージのインストールをやり直します。

PycharmでPipenvを利用するには

弊社ではPycharmを利用しているメンバーも多いです。

環境構築を行うディレクトリでプロジェクトを開き、PreferencePython Interpreterから追加します。

  • Base Interpreterに使用したいpyenvのpythonをおく
  • Install package from Pipfileにチェックを入れる

これをするだけで、直下にあるPipfileを参照して仮想環境の構築をおこなってくれます。便利!

あとがき

環境構築はたまにやると「どうやるんだっけ…」とよく忘れて毎回Google先生に質問してしまっているので、よく使うコマンドをまとめました。

業務であれば、上記コマンドがあれば大抵対応できます!

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?