買いますたー。
- 作者: Bill Lubanovic,斎藤康毅,長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2015/12/01
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る
現在、(章末問題だけ)実際に入力して動作を確認しながら読み進めています。網羅的に書かれているので、体系的に学びたい人はもちろん、困ったときに調べる用の本を探している人にもおすすめできる1冊だと思います。
以下の記事のつづきかなー。
今回、Python 3の環境を構築したにあたり、方法を備忘録として残しておきます。
1. Homebrew
Pythonのインストールには、Homebrewというパッケージ管理システムを使いました。パッケージ管理システムというのは、ソフトウェアの導入や削除、依存関係の解決を楽にしてくれる仕組みのことです。Homebrewは、既存の環境を汚さないので私好みでした。
リンク先にあるスクリプトをターミナルに貼り付け実行し、Homebrewをインストールします。
Xcode Command Line Toolsがインストールされていない場合、「コマンドライン・デベロッパ・ツールが必要です。」と表示されます。「インストール」をクリックして、インストールします。すでにインストールされている方は、「**」まで読み飛ばしてください。
「同意する」をクリックして、使用許諾契約に同意します。
「コンピュータが電源に接続されていません。」と怒られてしまいました。最適な結果を得るために、電源に接続し、「バッテリー電源のまま続ける」*1をクリックします。
**「Press RETURN to continue or any other key to abort」と表示されたら、「Return」キーを押してインストールは終了です。
brew doctor
を実行してインストールに異常はないか確認してみます。「Your system is ready to brew.」と表示されたら、Homebrewのインストールは完了です。
El Capitanなのでうまくいくか心配でしたが、/usr/localが存在していたためか特に問題ありませんでした。
2. Python 3
brew search
コマンドでPython 3のパッケージを探します。brew search python
と実行してみます。
Python 3のパッケージはpython3
とわかりました。brew install python3
を実行して、インストールします。
完了したら、確認のためpython3 --version
でバージョンを表示してみます。
今の私にはバージョンを切り替えて使用する必要性がわからないので、pyenvやvirtualenvはインストールしませんでした。
3. .bashrc
コマンドライン環境を使いやすくするために、以下の内容の.bashrcファイルを作成しました。
export LSCOLORS=gxfxcxdxbxegedabagacad
alias ls='ls -G'
alias python='python3'
LSCOLORSはlsの色分けの設定です。背景色が黒だと青文字が見にくいのでシアンに変えています。man ls
を見るとわかりますが、デフォルトはexfxcxdxbxegedabagacadです。
ls='ls -G'はlsを常に色分けするための設定です。GNUとはオプションが違うんですね。
最後のはpython3まで打つのがめんどくさいので設定してみましたが、どうなんですかね?
作成にはvi (vim)というテキストエディタを使いました。vi .bashrc
で起動し、「I」キーで挿入モードに入ります。入力後、「Esc」キーで挿入モードを抜け、:x
で保存して終了です。
4. .bash_profile
ログイン時に自動で.bashrcが読み込まれるよう、.bash_profileを作成しておきます。
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
source .bash_profile
で、すぐに反映させましょう。
5. .inputrc
ついでにですが、ファイル名補完の際にいちいち「Shift」キー押すのがダルいので、大文字小文字を無視する設定をしておきました。以下の内容の.inputrcファイルを作成します。
set completion-ignore-case on
言うの遅いですが、.bashrc、.bash_profile、.inputrcはすべてホーム(~)下に作成します。
OS XはUnixなのでCLIが最初から使いやすくていいですね。今はインタープリタでいじっているので、viの設定は追々。
参考
*1:電源に接続しても表示は変わらないみたい