1. HOME
  2. »
  3. プログラミング・Web
  4. »
  5. Python
  6. »
  7. pipenvの使い方。MacにPython環境を構築する方法

pipenvの使い方。MacにPython環境を構築する方法

みなさんこんにちは。@It_is_Rです。
今回はpipenvを使って、MacにPython環境を構築する方法を紹介します。

目次
  1. pipenvとは
  2. pipenvのインストール
  3. pipenvによる、プロジェクトの初期化
  4. pipenvとpyenvを組み合わせて使う
  5. 仮想環境に入る方法と、抜ける方法
  6. パッケージのインストール
  7. Pipfileを使ったパッケージのインストール
  8. まとめ

pipenvとは

pipenvは、Pythonでの開発環境を整えるのに便利な、パッケージ管理ツールです。npmやyarnといった、パッケージ管理ツールのPython版のようなものです。

また、仮想環境を構築することも可能です。
仮想環境を作るとどのようなメリットがあるかというと、プロジェクトごとに違うバージョンのPythonを使うことができたり、パッケージなどもプロジェクトごとに管理することができます。

pipenvのインストール

まず、pipenvのインストール方法です。

今回、pipenvのインストールにはHomebrewで行っていきます。まだHomebrewをインストールしていない方は、こちらの「Homebrewの使い方。よく使うコマンド一覧と詳しい解説まとめ」を参考にしてください。

では以下のコマンドを実行します。

$ brew install pipenv

これでpipenvがインストールされます。以下のコマンドで確認してみましょう。

$ pipenv --version
pipenv, version 2020.11.15

このようにバージョンが表示されれば、インストールの完了です。

pipenvによる、プロジェクトの初期化

つづいて、pipenvを使ってプロジェクトの初期化をしていきたいと思います。
ひとつプロジェクトを作ってみましょう。

では「testproject」というディレクトリを作成し、そのなかに入ります。

$ mkdir testproject
$ cd testproject

さて、今回使いたいPythonは3.9.2(現在の最新安定版)です。
では以下のコマンドを実行しましょう。

$ pipenv --python 3
Creating a virtualenv for this project...

これでPython3で開発するためのプロジェクトを初期化することができました。
もちろん、もっと細かいバージョンの指定をすることもできます。

$ pipenv --python 3.9.2
Creating a virtualenv for this project...

このとき、pyenvやasdfがインストールされていれば、Macに入れていないバージョンのpythonが選択されたとき、自動的にインストールされます。それについては、このあと紹介します。

以下のコマンドで確認してみましょう。

$ pipenv run python -V
Python 3.9.2

ここでは、pythonコマンドはpipenv runのあとに入力する必要があります。
これでPython3の最新安定版である3.9.2が使えるようになりました。

また、Python 3.9.1は、macOS Big Surをサポートする最初のバージョンとのことです。(https://www.python.org/downloads/release/python-391/)

この方法では、それ以前のPythonではWarning: The Python you just installed is not available on your PATH, apparently.というエラーが表示され、インストールは失敗してしまいます。

といっても、macOSにはPython 2.17.16が含まれています。これは過去のソフトウェアとの互換性のためにインストールされているようです。

pipenvとpyenvを組み合わせて使う

pipenvはpyenvと組み合わせて使うととても便利です。なんと、使いたいバージョンを指定するだけで、インストールまで自動で行なってくれます。

試しに、3.9.1を指定してみましょう。
まずはpyenvやasdfがインストールされていないときの場合です。

$ pipenv --python 3.9.1
Warning: Python 3.9.1 was not found on your system...
Neither 'pyenv' nor 'asdf' could be found to install Python.

Neither 'pyenv' nor 'asdf' could be found to install Python.というエラーが表示されてしまいました。

ではpyenvがインストールされているときの場合です。

$ pipenv --python 3.9.1
Warning: Python 3.9.1 was not found on your system...
Would you like us to install CPython 3.9.1 with Pyenv? [Y/n]: Y
Installing CPython 3.9.1 with /opt/homebrew/bin/pyenv (this may take a few minutes)...
Success! 

このように、Python 3.9.1がインストールされました。
では次のコマンドで確認してみましょう。

$ pipenv run python -V             
Python 3.9.1

無事、Python 3.9.1が使われています。

Python 3.9.2に戻すには、次のコマンドを実行します。

$ pipenv --python=3.9.2
Virtualenv already exists!
Removing existing virtualenv...
Creating a virtualenv for this project...
......
$ pipenv run python -V 
Python 3.9.2

仮想環境に入る方法と、抜ける方法

さて、ここまででそれぞれのバージョンのpythonコマンドを実行できるようになったのですが、いちいちpipenv runと入力するのは大変です。
しかし、仮想環境のなかに入ってしまえば、まるでMacにそのバージョンがインストールされているかのように使うことができます。

では仮想環境のなかに入ってみましょう!

$ pipenv shell       
Launching subshell in virtual environment...

これで、仮想環境に入ることができました。

ではpythonコマンドを入力してみましょう。

$ python -V
Python 3.9.2

さきほどの初期化のときに指定したバージョンのPythonを使うことができています。

では仮想環境から抜けてみましょう。

$ exit
Saving session...

これで仮想環境から抜けることができました。
python -Vを実行すると、Macにもともと入っていたバージョンが表示されます。

$ python -V
Python 2.7.16

パッケージのインストール

つづいて、パッケージのインストールについてです。
パッケージのインストールにはpipenv install <パッケージ名>を使います。

$ pipenv install flask
Installing flask...

pipenvコマンドは、仮想環境のなかからでも、外からでも、実行することができます。
仮想環境のなかであればpipコマンドも使えるのですが、pipenv install <パッケージ名>を使っておいたほうが、Pipfileの[package]にインストールしたものが記録されるので、別に同じ環境を作りたいときなどに便利になります。

Pipfileを使ったパッケージのインストール

さて、さきほどパッケージのインストールをしましたが、その情報はPipfileに記録されています。
つまり、別の仮想環境で同じパッケージをインストールしたいとき、Pipfileからインストールすることができます。

新しいプロジェクトを作ったら、Pipfileをそのフォルダにコピペして、以下のコマンドを実行します。

$ pipenv install                   
Creating a virtualenv for this project...

これでかんたんに、別の仮想環境でも同じパッケージをインストールすることができます。

まとめ

pipenvを使うと、かんたんにPython開発環境を構築できます。
また、pyenvと組み合わせて使うことで、Pythonのバージョンをかんたんに指定できるようになり、さらに便利になります。

以上、pipenvを使った、MacにPython開発環境を構築する方法でした。

スポンサードリンク

関連コンテンツ

オススメ記事

Pug

PugでPHPが使える! gulpfile.jsをちょっと工夫するだけだよ

HTMLを書くときPugを使うととても便利なのですが、PHPを書きたいと思ったときは少し工夫が必要になります。 PugでPHPを書くためのプラグインを使う方法もありますが、使うプラグインが増えれば増

java

Javaでじゃんけんゲームを作ろう。サンプルコードあり!

※追記(2018/8/29) より分かりやすい記事になるよう修正しました。 今回はJavaを使って、じゃんけんゲームを作る方法を紹介します。 eclipseがインストールされており、Java

HTML CSS

CSSでの円の作り方と、その上下左右中央に文字を表示する方法

サイトを作る時、円形のパーツを作りたい時ってよくありますよね。 円はCSSで簡単に作ることができます。 さらに今回はCSSで作成した円の中央に文字を置く方法も紹介します。 CSSでの

キャラクター

JavaScriptマンガ風講座。初心者でも絶対に理解できる入門編!!

プログラミングは奥が深い。。。@It_is_Rです。 Flashがスマホから使えなくなり、多くのサイトにHTML5が使われ、ブラウザ上でのアニメーションはJavaScriptが多く使われるように

bootstrap3

Bootstrap3でサイトのレイアウト。グリッドシステムの使い方と裏技。

開発中のゲームはサイト制作に入っております。@It_is_Rです。 前回に引き続き、Bootstrap3の記事です。 サイトを作るとき、CSSなどを使ってサイトのレイアウトを調節したりしますが

java

Javaのクラスとメソッドの違いとは?ゲーム風に解説。

この頃小説を読んでいなく、何か読みたいなと思っている@It_is_Rです。 Javaを勉強し始めたばかりの人は、何やら難しい単語に混乱する人も多いでしょう。その中で、クラスとメソッドって一体何が

【Android Studio】開発したアプリの実機テストを行う方法。

どうも、頭がすっからかんの@It_is_Rです。 やかましいわ。 今回は Android Studio で実機テストする方法を紹介します。 これからアプリ開発をしていく上で必要不可欠な実機テ

【Xcode7】Storyboardを使ってMacアプリ開発に挑戦。

何だか今日はトイレが近い。@It_is_Rでございます。 現在開発中の人魚のゲームは今ストーリーを練っている所です。まだまだ時間がかかりそうです。 さて、Rは今、Macアプリ開発を勉強中なので

メインループを作ってみよう!

【JavaScript】ゲームのメインループを作ってみよう! 小学生からのプログラミング入門

小学生からのJavaScript《ジャバスクリプト》入門講座《にゅうもんこうざ》、今回もはじめていきましょう! 突然《とつぜん》ですが、ゲーム開発《かいはつ》の基本として大切なことってなんだっ

FC2 blog customize

FC2ブログ ”最強” カスタマイズ入門講座。文字の大きさを設定する。

こんにちわ。美しいものほど濁って見える@It_is_Rです。 今回もFC2ブログの最強カスタマイズを始めていこうと思います。 今回は文字の大きさや色など、ブログ内の文字の設定をしていきます。初

コメントをどうぞ!(コメントは承認後に反映されます)

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です