7
11

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 5 years have passed since last update.

【pyenv/pipenv】MacでPythonを使おう

Posted at

MacでPythonを扱う1つの方法

はじめに

初めてMacを買ってPythonを導入するのに迷ったので、備忘録ついでに書き残します。

アジェンダ

  • Homebrewの導入
  • zshの導入
  • pyenvの導入
  • pipenvの導入

Homebrewの導入

Homebrewとは?

Mac用のパッケージ管理システム

Homebrew(ホームブルー)は、macOSオペレーティングシステム(およびLinux)上のパッケージ管理システムのひとつである[1]。同じくmacOSのためのMacPortsやFinkと同様の目的と機能を備え、利用が広がりつつある。LinuxのDebianのAPTに似た使用感である。Max Howellによって開発された。

Wikipedia(Homebrew (パッケージ管理システム))より抜粋

よくわからんけど、便利なパッケージを探して→Macにインストールして→バージョン管理もしてくれるスグレモノらしい。
その程度の認識。。。

ちなみに、Brewは(ビールの)醸造って意味らしく、Homebrewで自家醸造となるらしい。
自分の好みで使ってくれ、ってことかな?

Homebrew導入

Homebrew 公式
下記コマンドを実行してください、とのこと。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

するとなにやら色々と裏で実行されて、Homebrewがインストールされます。
インストールされたことを確認するために下記コマンドを実行しましょう。

$ brew --version
Homebrew 2.1.9
Homebrew/homebrew-core (git revision bb5f; last commit 2019-08-08)
Homebrew/homebrew-cask (git revision a705d8; last commit 2019-08-08)

のように表示されるはずです。
これで、Homebrewの導入は完了。

zshの導入

zshとは?

正式名称は Z Shell

  • プログラム可能な補完機能によって、多くのユーザーコマンドのオプションや引数を打つのを支援する(インストールの時点で数百のコマンドをサポートしている)。
  • ユーザーの起動している全ての zsh でコマンド履歴を共有することができる。
  • 拡張ファイル名生成(ワイルドカード展開)によって find のような外部コマンドを呼び出さないで、ファイル名を展開する。
  • 変数や配列の処理が改善されている。
  • 複数行コマンドをバッファーで編集できる。
  • 綴り字修正機能
  • 様々な互換モードがある。例えば、zshをshとして実行したとき、bashの振りをするようにできる。
  • プロンプトテーマ
  • 端末の右端に情報を表示し長いコマンドを打っているときは自動的に隠れる右プロンプトを表示できる。
  • 殆ど全部のカスタマイズが可能。

Wikipedia(Z Shell)より抜粋

なにやら色々と便利で自由にカスタマイズ出来るところが人気らしい。
なお私は使いこなせていないもよう。

zsh導入

先程インストールしたHomebrewを使い、Zshをインストールする。

$ brew install zsh

これで、Homebrewが管理をしつつ、パッケージをインストールすることができた。
インストールされたかを確認するために、下記コマンドを実行しよう。

$ zsh --version
zsh 5.7.1 (x86_64-apple-darwin18.2.0)

のように表示されるはず。

しかし、Shell自体は勝手に変更されることはないので、前準備を行う。
まず、HomebrewでインストールしたZshをMacが認識するように、/etc/Shellsの内容を書き換える

/etc/Shells
List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/zsh (← これを追記)

その後に、下記コマンドを実行してからTerminalを再起動する。

$ chsh -s /usr/local/bin/zsh

これでZshの導入も完了。

Pyenvの導入

Pyenvとは

複数のPythonを管理できるライブラリ。
大きな括りでいえば、Python3系とPython2系を両立させたいとか、Anacondaも使いたいとかのニーズに答えて、Pythonのバージョン管理を楽にしてくれるライブラリ。

Pyenvの導入とPythonのインストール

例によってHomebrewから。

$ brew install pyenv

次にPythonをインストールします。

$ pyenv install --list

で必要なPythonのバージョンを探します。

で、見つかったら

$ pyenv install x.x.x.

でインストール
でもまだインストールしただけなので、全体に認識させる必要があります。

なので下記コマンドを実行します。

pyenv global x.x.x

これで全体が指定したPythonのバージョンを利用するようになります。

pipenvの導入

pipenvとは

Pythonプロジェクトのための仮想環境を作成するために必要なすべての手段を提供するツールです。パッケージをインストールまたはアンインストールするときに Pipfile ファイルを介して自動的にプロジェクトパッケージを管理します。

Pycharmより抜粋
pipに仮想環境の機能をつけたようなもの(暴論)

pipenv導入

Homebrewから。

$ brew install pipenbv

インストール後、任意の開発フォルダを作成し、移動します。
移動先のフォルダで下記コマンドを実行します。

$ pipenv install

$ pipenv shell

これで仮想環境ができました。

あとはライブラリをインストールするだけです。

pipenv intall 'ライブラリ名'

でライブラリが
インストールされ、内容がPipfilePipfile.lockに書き込まれます。

これPythonの仮想環境作成が完了しました。
自分はここまでやるのに結構な時間かかりましたが。。。。

誤りあればご指摘ください。

7
11
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
7
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?