SlideShare a Scribd company logo
1 of 38
Mac で 開発環境を整える
2017-04-25 TS
▼ この文書の目標:
- Mac 初心者がPython3を使える環境を整えることを可能とする事
- 環境設定の全体図をイメージするためのマネージャーも読む物
▼ この文書は、もともと社内向け文書であり、話す時間は10分だった。
途中まで詳しく書いたが、後半はあまり検証が確実ではない。
また途中から、雑多なメモである傾向が高まってくる。
▼ この文書の著者は Macintosh を使い始めて7年目。
最初に知りたかったことを思い出しながら書いた側面もある。 1
1. OS X のバージョンを確かめる。
• 10.11 (別名 El Capitan)
2
アプリやドライバをインストールする
際に何かと、この番号は重要となる。
https://ja.wikipedia.org/wiki/MacOS
2. Spotlight
• Ctrl + Space キー もしくは Command + Space キーで起動する。
• アプリケーションを起動する場合に用いる。
• Spotlight の機能は、OS X 10.4 (Tiger) 以降で導入された、検索機能である。
• 検索結果が表示された時に cmd キー押下で、ファイルの場所なども分かる。
• 電卓のようにも使える。例: 2*3*4 → 24
3
3. ショートカットキーの確認/設定
• Macのいろいろなショートカットキー
(ショートカットともよく呼ぶ)は、
【システム環境設定】の
【キーボード】 で、確認と設定が可能。
• ショートカットの変更も可能だが、慣れるまで
は、無闇に変更しない方が良い。
• スクリーンショットの機能は便利なので、
ショートカットを覚えておくと良いかも。
4
4. Time Machineの設定
• やや頻繁にバックアップを
保存。(1時間ごと、毎週..)
• 何かあった時に元に戻すこ
とができるので、とても安心。
• 注意点:
• ディスクの容量が必要。
• 最初の動作に時間がかかる。
5
Spotlightで起動
Time machine はひとつ余計なディスク
が必要のようだ。Time machine 注意
点で検索せわ
念のため、アンチウイルスソフトが起
動しているかどうか、確認をせよ。
ここからは概略のみ
6
5. Terminal または iTerm2 を使う。
• Pythonなどを使う為に、
コマンドベースでいろ
いろなことをするには、
Terminal もしくは iTerm
は必須。
• iTerm は便利なので、
インストール推奨。設
定できる機能が豊富で
ある。
• どちらも UNIX端末エ
ミュレーダである。
7
6. 開発環境インストールの前準備
下記の順番で、ソフトウェアをMacにインストール。
1. Xcode をインストール。
2. Homebrew もしくは MacPorts のどちらか
上記の Homebrew や MacPorts を同居させると問題
が起こりうる。Homebrew はルートユーザ権限は不
要だが、 MacPortsは必要で、sudoコマンドの使いこ
なしが必要。
8
7. Homebrew の使用例:
brew install coreutils gawk gnu-sed
# 元々のMacのBSD版UNIXでなく、GNU版を使う為。
# gsed -n 1~10p で 10行毎に1行表示することが可能。
brew install source-highlight
# less で色を付けるため
# ここに未記載だが、less を最新版にすると、& ショートカットが有効化。
brew install hg
# バージョン管理にGitではなくてMercurialを使いたい場合
9
8. Python3のインストール
• 下記のコマンドでバージョンなどを確認。
which -a python{,3} # どこにPythonがあるかを全て調べる。
which -a python python3 # 上と同様。
python --version
Python2とPython3の違いは非常に重要。
10
9. Python3のパッケージ管理ツール
• まず、pip, pyenv もしくはpip3 のようなPythonの
パッケージ管理システムをインストールする。
• そして、必要なPythonのパッケージを随時インス
トール。
• Virtualenv を試すと良いかも。
• Echo $? は使える。
• Pip3 install ipython3
11
10. Docker
• イメージとコンテナの違いを意識せよ。
• 仮想環境
12
補足情報1.
Mac を使い始めた 開発者向け
14ページ
13
1.インターネット上の参考情報
• Google や Bing などで、計算機の使い方を検索する場
合は、時期に気をつける。5年以上古いものはおそらく
役に立たない。
• AND OR site: inurl: filetype: などの検索演算子を知る
べし。
• 「ショートカット一覧 AND Mac」 「修飾キー AND 活用」
でまず検索してみよう。
• 断片的な知識からたどると「知らない事を知らない」こ
とがおこる。体系的にたどるために、Wikipedia が活用
できる。
• 長いキャリアを考えると、書籍からの知識の獲得は重
要。
オライリーの本は読めた方が良い。
全部熟読しても良いが、一晩で大事な箇所を情報の
位置づけを把握しながら、理解すると実用的。
14
https://www.oreilly.co.jp/books/9784873115825/
http://www.key-p.com/blog/staff/archives/104784
2.各種作業上の便利ソフト/サイト
• Stickies : 付箋ソフト, 非常に便利。
情報は/Users/abc/Library/StickiesDatabase にある。DropBox と同期可能。
• Google Drive : 長期間確実にいろいろな情報を残したい時に便利。ただし
Googleは検閲権を保留しているので、パスワードなど記載はしてはいけない。
• Todoist.com : 様々なToDo を階層状に保管できる。
• Evernote : 100個程度以下の情報をすぐに保管したいときに便利だと思う。
• 1Password : パスワードの管理に便利であるらしい。
社内の情報をクラウドに載せてはいけないという規定がある場合があるので、気
をつけること。
何をインストール/設定したのか、どういう問題/疑問が発生したか、他に何をイン
ストールしたかの情報の記録は、非常に重要。
蓄積したメモは、必要なときに迅速に参照できるように、体系化しておくことも重
要。
15
3. よく使うショートカット
16
Cmd+, : そのアプリケーションの設定
Ctl+A : 行頭に移動
Ctl+E: 行末に移動
Ctl+K: 行末までヤンク
Ctl+Y: ヤンクしたものをペースト
Cmd + Shift + ”+” : 文字を大きく
Cmd + Shift + ”-” : 文字を小さく
【ヒント】 インターネット上で、いろいろなアプリの
ショートカット一覧を検索し、適当なページを
印刷して、ひとつひとつ日数を掛けて覚えて
いくと、そのアプリの使い方をマスターしやすい。
良い参照かも:
https://www.mediaatelier.com/CheatSheet/
「Mac 修飾キー」 のネット検索はすると良いかも。
Cmd+Z : 直前操作の取り消し
Cmd+Shift+Z : 取り消しの取り消し
Cmd+C : コピー
Cmd+V : ペースト
Cmd+D : 複写
Cmd+Q : アプリの終了
Cmd+W : ファイル/ウィンドウを閉じる
Cmd+T : 閉じたウィンドウをまた開く
Cmd+E : ディスクドライブの取り外し
Cmd+I : ファイルやドライブの情報
Cmd+O : ファイルを開く。
Cmd + Shift + H : ホームディレクトリに移動
4.アプリケーションはどこにあるのか?
• Finder は常時起動しているの
で、Command + Tab で選択。
• Cmd + Shift + A で、アプリケー
ションの一覧を表示。
• Cmd + 1 や Cmd + 2 で表示方
法を変更。
• 他のショートカットを知りたい
場合は、メニューバーを見る。
• Optionキーをさらに押下すると
表示が変わることに注意。
• アプリケーションのフォルダに
さらに、ユーティリティがあるこ
とに注意。
17
参考: Unixコマンドの使えるターミナルで
man hier を実行すると、ディレクトリの
使われ方の一般論が詳細に分かる。
5. エディタについて
(テキストの閲覧と編集)
• Sublime Editor, CotEditor, mi, atomなど様々なソフトがある。
• Macに最初から付属している textedit はあまりお薦めではない。機能
が少なすぎるので。
• 無料で利用可能なもので十分。
• 大容量のテキストの閲覧、文字コードの確認、機能の豊富さにはいろ
いろな違いがある。日本語対応レベルの違いもある。
• 目的によるが、詳しい人に相談したり、ネットで評判を確かめたり、知ら
ないソフトでも少しずつ使って試していくと良い。
• ターミナル上で less, vim などを使うのも良い。less * のようなワイルド
カード(*等)を使った書き方で、多数のファイルをとても手軽に閲覧する
ことも可能。(ただし、lessのショートカットを大量に覚える必要がある。)
18
6. ファイルシステムに関して
1. ファイルシステム(フォーマット)で、大文字小文字
を区別するものとしないものがある。要注意。
2. ツリー構造(木構造; Windowsと同じ)。
3. ログインディレクトリは /Users/(アカウント名)
4. アプリケーションは /Applications
5. 絶対パスを知る方法:
1. Finder からファイルのアイコンを Terminal にドラッグ
2. Finderで 右クリック+Optionキー で【パス名をコピー】
19
7. フリーズなどの不具合発生時:
• ノートブックの蓋を閉じて、また空ける。
• 【アプリケーションの強制終了】 を起動するには、
Option + Command + Esc キー
• 再起動 :
• Command + Control を押しながら、電源ボタン。
• もしくは電源ボタンを4秒以上押下する。
• 起動時に Shiftキーを押すとセーフブート
20
8.計算資源(CPU,メモリ)など確認法
• アクティビティモニタを
起動。 (Ctrl+Space→monitor)
• さらに Command + 2 で
CPUの様子が分かる。
• ディスクユーティリティ
を起動 (Ctrl+Space→ disk)
• ディスクの構成/設定/
初期化など
21
9.画像の編集について
• Preview を使うのが最も簡便。
• Cmd + Ctrl + Shift + 4 でスクリーンショッ
トを得る。
• (Spotlightで) Preview を起動。
• 起動もしくはCtrl+Nで、クリップボード上
の画像が表示される。
• 道具箱のようなアイコンをクリックすると、
画像編集の道具が現れる。
• 編集した画像は png 形式などで保存が
可能。(他には jpeg, tiff など)
• 本格的な編集には、GIMP などを使う。多
数の画像をプログラム的に処理するには、
ImageMagickを使う。 22
10.辞書(英和/和英/仏英/国語/ヒンディー..)
• アプリ名: Dictionary
元々Macに入っている。
• Cmd+数字で即座に切り替わる。
• Cmd+Nで何冊でも起動する。
• Cmd+, で多数の辞書から必要なものを選
択可能。
• 最近のOS になる程、辞書の数は増えて
いる。
• 多くの別のアプリからでも、Ctrl+Cmd+D
で英単語の意味がすぐに参照できる。
• とにかく便利。
23
11. 日本語入力に関して
• キーボードの【英数】と【カナ】で切り替える。
• もしくは、Cmd + Spaceで切り替える。
• システム環境設定のキーボードの設定を見た方が良い。
• 外部キーボード、ウィンドウズ用キーボードを使う時は注意。
• 他社の IME の方がおそらく生産性は上がる。
• Google 日本語入力 IME
• ジャストシステム社の ATOK
IME = input method editor
24
12. パスを通す
• export PATH=$PATH:(新しく追加したいパス)
• echo $PATH | tr “:” “¥n”
• BASH なら ~/.bash_profile にパス設定命令を書く
• ZSH なら ~/.zshrc にパス設定命令を書く
25
13. 黒い画面でエラーを知るには
• 直前のコマンドが正しく終了したかどうかを知るには、
echo $? を実行。
• 0なら正常終了。
• それ以外は何らかの異常発生
• Ctrl+C が押された場合は多くの場合,130
• Ctrl+Z で一旦停止ができる。fg コマンドで再開できる。
date; fg ; date により、再開時刻と終了時刻を表示出
来て、便利。
• エラーメッセージは、よく読もう。英語メッセージは重要。
• ライブラリ関係のエラーは厄介(影響範囲が大) 要記録。
26
14.長時間計算させる場合
大量のデータを処理したりする場合に、作業者が離席しても、計算を中断
したくない場合に使う。
ただし、下記は、よく検証していない。下記項目に配慮すれば十分そうで
はある。
1. 【システム環境設定】を起動(System Prefrence)
2. 以下をそれぞれ設定
1. 【デスクトップとスクリーンセーバ】 の中の
- 【開始までの時間】 と【ホットコーナー】
2. 【セキュリティとプライバシー】の中の
【一般】【スリープ解除/…】
3. 【省エネルギー】
1. 【ネットワークアクセスによるスリープ解除】のチェックを外す。
2. 【ディスプレイを切にするまでの時間】を10分にするなど
3. 【電源アダプタ】 の 【ディスプレイが切のときはコンピュータを自動でスリープ
しない】のチェックを入れる。
もしくは、下記を行う。(下記だけで十分かどうかは不明。)
1. ターミナルで caffeinate を起動。
27
補足情報 2.
Python3について
10ページ
28
DockerでPython3を使う
2017-04-14 TS
Python2 を使わない訳
• レガシーとの互換性を保つために
Python 3 が敬遠されていた時代は変わりつつある。
• Python2 はマルチバイトの問題がややこしい。
環境構築/利用の手順
環境構築
• Macの環境に Python3, Pyenv, pip 等をインストール。
• しかし、途中で Docker を使うことにした。
• 理由: 標準ライブラリの一つ fileinput が動かなかった。
Dockerのインストール
1. Mac に Docker を普通のアプリのようにインス
トール。
2. Docker を起動。Macのメニューバーに鯨のアイコ
ンが出現する。
3. ターミナル
1. docker images というコマンドを入力。
2. docker pull kaggle/python で約10分でイメージ取得。
4. ファイルの移動はどうする?
Docker のコンテナの起動
• イメージとコンテナは異なる。
→ 1個のイメージから多数のコンテナを起動可能。
• docker images ← イメージを確認。例: kaggle/python
• docker run -it -p 8888:8888 kaggle/python bash
• メインマシンとファイル共有するには –v オプション。
• 足りないソフトは apt-get install gawk などでインストール。
Jupyter-notebook (GUI)の起動
• PythonのGUI版。長いマニュアルも読みやすい。
• jupyter-notebook --no-browser --ip=0.0.0.0
• URLが表示されるので、それをブラウザで起動する。
• ブラウザ上でいろいろ操作。
• Dキーを2回押下すると、入力コマンドラインが消えたり
する。
付け加え
Macのメイン環境で起きていたこと
• 解決困難な問題の発生
• 複数のpythonが混在 (python2が複数あった)
• pip, pyenv などが意図通りに動作しなくなった。
• 標準ライブラリであるはずの fileinput がインタラクティ
ブモードで動くのに、プログラムにしたら動かなかった。
• Homebrew も MacPorts も入れていたことが原因かも。
• Howbrew, MacPorts : MacOS用パッケージ管理システム
• pip : Pythonのパッケージ管理システム
• Pyenv : Python環境管理システム
補足
• バージョンの確認方法:
• python --version (ハイフンが2個,全て小文字)
• python3 --version
• python2 --version (もしも、Python 2 を使いたい場合)

More Related Content

What's hot

#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道
#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道
#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道Yasushi Hara
 
Now and then: next-generation sequencing database to encourage the big data s...
Now and then: next-generation sequencing database to encourage the big data s...Now and then: next-generation sequencing database to encourage the big data s...
Now and then: next-generation sequencing database to encourage the big data s...Tazro Ohta
 
経済学のための実践的データ分析 5.特許データの分析
経済学のための実践的データ分析 5.特許データの分析経済学のための実践的データ分析 5.特許データの分析
経済学のための実践的データ分析 5.特許データの分析Yasushi Hara
 
Facebookのリアルタイム Big Data 処理
Facebookのリアルタイム Big Data 処理Facebookのリアルタイム Big Data 処理
Facebookのリアルタイム Big Data 処理maruyama097
 
データベースシステム論02 - データベースの歴史と今
データベースシステム論02 - データベースの歴史と今データベースシステム論02 - データベースの歴史と今
データベースシステム論02 - データベースの歴史と今Shohei Yokoyama
 
データベース入門
データベース入門データベース入門
データベース入門拓 小林
 
データ集計基盤のいままでとこれから 〜Hadoopからdataflowまで使い込んだ経験を徹底共有〜
データ集計基盤のいままでとこれから 〜Hadoopからdataflowまで使い込んだ経験を徹底共有〜データ集計基盤のいままでとこれから 〜Hadoopからdataflowまで使い込んだ経験を徹底共有〜
データ集計基盤のいままでとこれから 〜Hadoopからdataflowまで使い込んだ経験を徹底共有〜Kazuhiro Mitsuhashi
 
#経済学のための実践的データ分析 8. 企業データベースの使い方
#経済学のための実践的データ分析 8. 企業データベースの使い方#経済学のための実践的データ分析 8. 企業データベースの使い方
#経済学のための実践的データ分析 8. 企業データベースの使い方Yasushi Hara
 
データベースシステム論06 - SQL基礎演習1 データの定義と操作
データベースシステム論06 - SQL基礎演習1 データの定義と操作データベースシステム論06 - SQL基礎演習1 データの定義と操作
データベースシステム論06 - SQL基礎演習1 データの定義と操作Shohei Yokoyama
 

What's hot (9)

#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道
#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道
#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道
 
Now and then: next-generation sequencing database to encourage the big data s...
Now and then: next-generation sequencing database to encourage the big data s...Now and then: next-generation sequencing database to encourage the big data s...
Now and then: next-generation sequencing database to encourage the big data s...
 
経済学のための実践的データ分析 5.特許データの分析
経済学のための実践的データ分析 5.特許データの分析経済学のための実践的データ分析 5.特許データの分析
経済学のための実践的データ分析 5.特許データの分析
 
Facebookのリアルタイム Big Data 処理
Facebookのリアルタイム Big Data 処理Facebookのリアルタイム Big Data 処理
Facebookのリアルタイム Big Data 処理
 
データベースシステム論02 - データベースの歴史と今
データベースシステム論02 - データベースの歴史と今データベースシステム論02 - データベースの歴史と今
データベースシステム論02 - データベースの歴史と今
 
データベース入門
データベース入門データベース入門
データベース入門
 
データ集計基盤のいままでとこれから 〜Hadoopからdataflowまで使い込んだ経験を徹底共有〜
データ集計基盤のいままでとこれから 〜Hadoopからdataflowまで使い込んだ経験を徹底共有〜データ集計基盤のいままでとこれから 〜Hadoopからdataflowまで使い込んだ経験を徹底共有〜
データ集計基盤のいままでとこれから 〜Hadoopからdataflowまで使い込んだ経験を徹底共有〜
 
#経済学のための実践的データ分析 8. 企業データベースの使い方
#経済学のための実践的データ分析 8. 企業データベースの使い方#経済学のための実践的データ分析 8. 企業データベースの使い方
#経済学のための実践的データ分析 8. 企業データベースの使い方
 
データベースシステム論06 - SQL基礎演習1 データの定義と操作
データベースシステム論06 - SQL基礎演習1 データの定義と操作データベースシステム論06 - SQL基礎演習1 データの定義と操作
データベースシステム論06 - SQL基礎演習1 データの定義と操作
 

Similar to Macで開発環境を整える170420

【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門sandai
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境Fumihito Yokoyama
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス5mingame2
 
Android カスタムROMの作り方
Android カスタムROMの作り方Android カスタムROMの作り方
Android カスタムROMの作り方Masahiro Hidaka
 
DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -Tomoya Kabe
 
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順Hide Koba
 
最低限の開発環境を整えるには
最低限の開発環境を整えるには最低限の開発環境を整えるには
最低限の開発環境を整えるにはvi-iv
 
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれNGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれDNA Data Bank of Japan center
 
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門sandai
 
超簡単! PythonをWindows Serverにインストール
超簡単! PythonをWindows Serverにインストール超簡単! PythonをWindows Serverにインストール
超簡単! PythonをWindows ServerにインストールShin Tanigawa
 
Windowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようWindowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようKenji NAKAGAKI
 
ML Studio / CNTK ハンズオン資料の紹介と開発環境の構築手順
ML Studio / CNTK ハンズオン資料の紹介と開発環境の構築手順ML Studio / CNTK ハンズオン資料の紹介と開発環境の構築手順
ML Studio / CNTK ハンズオン資料の紹介と開発環境の構築手順Yoshitaka Seo
 
Edge os(vyos)の基本(入門編)
Edge os(vyos)の基本(入門編)Edge os(vyos)の基本(入門編)
Edge os(vyos)の基本(入門編)Akira Kaneda
 
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮Hibino Hisashi
 

Similar to Macで開発環境を整える170420 (20)

C language Sem 01
C language Sem 01C language Sem 01
C language Sem 01
 
【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
 
Tmux
TmuxTmux
Tmux
 
Tmux
TmuxTmux
Tmux
 
Android カスタムROMの作り方
Android カスタムROMの作り方Android カスタムROMの作り方
Android カスタムROMの作り方
 
Rstudio事始め
Rstudio事始めRstudio事始め
Rstudio事始め
 
DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -
 
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
 
3
33
3
 
最低限の開発環境を整えるには
最低限の開発環境を整えるには最低限の開発環境を整えるには
最低限の開発環境を整えるには
 
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれNGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
 
良いコードとは
良いコードとは良いコードとは
良いコードとは
 
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
 
超簡単! PythonをWindows Serverにインストール
超簡単! PythonをWindows Serverにインストール超簡単! PythonをWindows Serverにインストール
超簡単! PythonをWindows Serverにインストール
 
Windowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようWindowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
 
ML Studio / CNTK ハンズオン資料の紹介と開発環境の構築手順
ML Studio / CNTK ハンズオン資料の紹介と開発環境の構築手順ML Studio / CNTK ハンズオン資料の紹介と開発環境の構築手順
ML Studio / CNTK ハンズオン資料の紹介と開発環境の構築手順
 
Edge os(vyos)の基本(入門編)
Edge os(vyos)の基本(入門編)Edge os(vyos)の基本(入門編)
Edge os(vyos)の基本(入門編)
 
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
 

More from Toshiyuki Shimono

国際産業数理・応用数理会議のポスター(作成中)
国際産業数理・応用数理会議のポスター(作成中)国際産業数理・応用数理会議のポスター(作成中)
国際産業数理・応用数理会議のポスター(作成中)Toshiyuki Shimono
 
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装Toshiyuki Shimono
 
extracting only a necessary file from a zip file
extracting only a necessary file from a zip fileextracting only a necessary file from a zip file
extracting only a necessary file from a zip fileToshiyuki Shimono
 
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021Toshiyuki Shimono
 
新型コロナの感染者数 全国の状況 2021年2月上旬まで
新型コロナの感染者数 全国の状況 2021年2月上旬まで新型コロナの感染者数 全国の状況 2021年2月上旬まで
新型コロナの感染者数 全国の状況 2021年2月上旬までToshiyuki Shimono
 
Multiplicative Decompositions of Stochastic Distributions and Their Applicat...
 Multiplicative Decompositions of Stochastic Distributions and Their Applicat... Multiplicative Decompositions of Stochastic Distributions and Their Applicat...
Multiplicative Decompositions of Stochastic Distributions and Their Applicat...Toshiyuki Shimono
 
Theory to consider an inaccurate testing and how to determine the prior proba...
Theory to consider an inaccurate testing and how to determine the prior proba...Theory to consider an inaccurate testing and how to determine the prior proba...
Theory to consider an inaccurate testing and how to determine the prior proba...Toshiyuki Shimono
 
Interpreting Multiple Regression via an Ellipse Inscribed in a Square Extensi...
Interpreting Multiple Regressionvia an Ellipse Inscribed in a Square Extensi...Interpreting Multiple Regressionvia an Ellipse Inscribed in a Square Extensi...
Interpreting Multiple Regression via an Ellipse Inscribed in a Square Extensi...Toshiyuki Shimono
 
BigQueryを使ってみた(2018年2月)
BigQueryを使ってみた(2018年2月)BigQueryを使ってみた(2018年2月)
BigQueryを使ってみた(2018年2月)Toshiyuki Shimono
 
既存分析ソフトへ
データを投入する前に
簡便な分析するためのソフトの作り方の提案
既存分析ソフトへ
データを投入する前に
簡便な分析するためのソフトの作り方の提案既存分析ソフトへ
データを投入する前に
簡便な分析するためのソフトの作り方の提案
既存分析ソフトへ
データを投入する前に
簡便な分析するためのソフトの作り方の提案Toshiyuki Shimono
 
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...Toshiyuki Shimono
 
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...Toshiyuki Shimono
 
Make Accumulated Data in Companies Eloquent by SQL Statement Constructors (PDF)
Make Accumulated Data in Companies Eloquent by SQL Statement Constructors (PDF)Make Accumulated Data in Companies Eloquent by SQL Statement Constructors (PDF)
Make Accumulated Data in Companies Eloquent by SQL Statement Constructors (PDF)Toshiyuki Shimono
 
新入社員の頃に教えて欲しかったようなことなど
新入社員の頃に教えて欲しかったようなことなど新入社員の頃に教えて欲しかったようなことなど
新入社員の頃に教えて欲しかったようなことなどToshiyuki Shimono
 
ページャ lessを使いこなす
ページャ lessを使いこなすページャ lessを使いこなす
ページャ lessを使いこなすToshiyuki Shimono
 
Guiを使わないテキストデータ処理
Guiを使わないテキストデータ処理Guiを使わないテキストデータ処理
Guiを使わないテキストデータ処理Toshiyuki Shimono
 
大きなテキストデータを閲覧するには
大きなテキストデータを閲覧するには大きなテキストデータを閲覧するには
大きなテキストデータを閲覧するにはToshiyuki Shimono
 
A Hacking Toolset for Big Tabular Files (3)
A Hacking Toolset for Big Tabular Files (3)A Hacking Toolset for Big Tabular Files (3)
A Hacking Toolset for Big Tabular Files (3)Toshiyuki Shimono
 
Washingtondc b20161214 (2/3)
Washingtondc b20161214 (2/3)Washingtondc b20161214 (2/3)
Washingtondc b20161214 (2/3)Toshiyuki Shimono
 

More from Toshiyuki Shimono (20)

国際産業数理・応用数理会議のポスター(作成中)
国際産業数理・応用数理会議のポスター(作成中)国際産業数理・応用数理会議のポスター(作成中)
国際産業数理・応用数理会議のポスター(作成中)
 
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装
インターネット等からデータを自動収集するソフトウェアに必要な補助機能とその実装
 
extracting only a necessary file from a zip file
extracting only a necessary file from a zip fileextracting only a necessary file from a zip file
extracting only a necessary file from a zip file
 
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021
 
新型コロナの感染者数 全国の状況 2021年2月上旬まで
新型コロナの感染者数 全国の状況 2021年2月上旬まで新型コロナの感染者数 全国の状況 2021年2月上旬まで
新型コロナの感染者数 全国の状況 2021年2月上旬まで
 
Multiplicative Decompositions of Stochastic Distributions and Their Applicat...
 Multiplicative Decompositions of Stochastic Distributions and Their Applicat... Multiplicative Decompositions of Stochastic Distributions and Their Applicat...
Multiplicative Decompositions of Stochastic Distributions and Their Applicat...
 
Theory to consider an inaccurate testing and how to determine the prior proba...
Theory to consider an inaccurate testing and how to determine the prior proba...Theory to consider an inaccurate testing and how to determine the prior proba...
Theory to consider an inaccurate testing and how to determine the prior proba...
 
Interpreting Multiple Regression via an Ellipse Inscribed in a Square Extensi...
Interpreting Multiple Regressionvia an Ellipse Inscribed in a Square Extensi...Interpreting Multiple Regressionvia an Ellipse Inscribed in a Square Extensi...
Interpreting Multiple Regression via an Ellipse Inscribed in a Square Extensi...
 
BigQueryを使ってみた(2018年2月)
BigQueryを使ってみた(2018年2月)BigQueryを使ってみた(2018年2月)
BigQueryを使ってみた(2018年2月)
 
Seminar0917
Seminar0917Seminar0917
Seminar0917
 
既存分析ソフトへ
データを投入する前に
簡便な分析するためのソフトの作り方の提案
既存分析ソフトへ
データを投入する前に
簡便な分析するためのソフトの作り方の提案既存分析ソフトへ
データを投入する前に
簡便な分析するためのソフトの作り方の提案
既存分析ソフトへ
データを投入する前に
簡便な分析するためのソフトの作り方の提案
 
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
 
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
To Make Graphs Such as Scatter Plots Numerically Readable (PacificVis 2018, K...
 
Make Accumulated Data in Companies Eloquent by SQL Statement Constructors (PDF)
Make Accumulated Data in Companies Eloquent by SQL Statement Constructors (PDF)Make Accumulated Data in Companies Eloquent by SQL Statement Constructors (PDF)
Make Accumulated Data in Companies Eloquent by SQL Statement Constructors (PDF)
 
新入社員の頃に教えて欲しかったようなことなど
新入社員の頃に教えて欲しかったようなことなど新入社員の頃に教えて欲しかったようなことなど
新入社員の頃に教えて欲しかったようなことなど
 
ページャ lessを使いこなす
ページャ lessを使いこなすページャ lessを使いこなす
ページャ lessを使いこなす
 
Guiを使わないテキストデータ処理
Guiを使わないテキストデータ処理Guiを使わないテキストデータ処理
Guiを使わないテキストデータ処理
 
大きなテキストデータを閲覧するには
大きなテキストデータを閲覧するには大きなテキストデータを閲覧するには
大きなテキストデータを閲覧するには
 
A Hacking Toolset for Big Tabular Files (3)
A Hacking Toolset for Big Tabular Files (3)A Hacking Toolset for Big Tabular Files (3)
A Hacking Toolset for Big Tabular Files (3)
 
Washingtondc b20161214 (2/3)
Washingtondc b20161214 (2/3)Washingtondc b20161214 (2/3)
Washingtondc b20161214 (2/3)
 

Macで開発環境を整える170420

  • 1. Mac で 開発環境を整える 2017-04-25 TS ▼ この文書の目標: - Mac 初心者がPython3を使える環境を整えることを可能とする事 - 環境設定の全体図をイメージするためのマネージャーも読む物 ▼ この文書は、もともと社内向け文書であり、話す時間は10分だった。 途中まで詳しく書いたが、後半はあまり検証が確実ではない。 また途中から、雑多なメモである傾向が高まってくる。 ▼ この文書の著者は Macintosh を使い始めて7年目。 最初に知りたかったことを思い出しながら書いた側面もある。 1
  • 2. 1. OS X のバージョンを確かめる。 • 10.11 (別名 El Capitan) 2 アプリやドライバをインストールする 際に何かと、この番号は重要となる。 https://ja.wikipedia.org/wiki/MacOS
  • 3. 2. Spotlight • Ctrl + Space キー もしくは Command + Space キーで起動する。 • アプリケーションを起動する場合に用いる。 • Spotlight の機能は、OS X 10.4 (Tiger) 以降で導入された、検索機能である。 • 検索結果が表示された時に cmd キー押下で、ファイルの場所なども分かる。 • 電卓のようにも使える。例: 2*3*4 → 24 3
  • 4. 3. ショートカットキーの確認/設定 • Macのいろいろなショートカットキー (ショートカットともよく呼ぶ)は、 【システム環境設定】の 【キーボード】 で、確認と設定が可能。 • ショートカットの変更も可能だが、慣れるまで は、無闇に変更しない方が良い。 • スクリーンショットの機能は便利なので、 ショートカットを覚えておくと良いかも。 4
  • 5. 4. Time Machineの設定 • やや頻繁にバックアップを 保存。(1時間ごと、毎週..) • 何かあった時に元に戻すこ とができるので、とても安心。 • 注意点: • ディスクの容量が必要。 • 最初の動作に時間がかかる。 5 Spotlightで起動 Time machine はひとつ余計なディスク が必要のようだ。Time machine 注意 点で検索せわ 念のため、アンチウイルスソフトが起 動しているかどうか、確認をせよ。
  • 7. 5. Terminal または iTerm2 を使う。 • Pythonなどを使う為に、 コマンドベースでいろ いろなことをするには、 Terminal もしくは iTerm は必須。 • iTerm は便利なので、 インストール推奨。設 定できる機能が豊富で ある。 • どちらも UNIX端末エ ミュレーダである。 7
  • 8. 6. 開発環境インストールの前準備 下記の順番で、ソフトウェアをMacにインストール。 1. Xcode をインストール。 2. Homebrew もしくは MacPorts のどちらか 上記の Homebrew や MacPorts を同居させると問題 が起こりうる。Homebrew はルートユーザ権限は不 要だが、 MacPortsは必要で、sudoコマンドの使いこ なしが必要。 8
  • 9. 7. Homebrew の使用例: brew install coreutils gawk gnu-sed # 元々のMacのBSD版UNIXでなく、GNU版を使う為。 # gsed -n 1~10p で 10行毎に1行表示することが可能。 brew install source-highlight # less で色を付けるため # ここに未記載だが、less を最新版にすると、& ショートカットが有効化。 brew install hg # バージョン管理にGitではなくてMercurialを使いたい場合 9
  • 10. 8. Python3のインストール • 下記のコマンドでバージョンなどを確認。 which -a python{,3} # どこにPythonがあるかを全て調べる。 which -a python python3 # 上と同様。 python --version Python2とPython3の違いは非常に重要。 10
  • 11. 9. Python3のパッケージ管理ツール • まず、pip, pyenv もしくはpip3 のようなPythonの パッケージ管理システムをインストールする。 • そして、必要なPythonのパッケージを随時インス トール。 • Virtualenv を試すと良いかも。 • Echo $? は使える。 • Pip3 install ipython3 11
  • 14. 1.インターネット上の参考情報 • Google や Bing などで、計算機の使い方を検索する場 合は、時期に気をつける。5年以上古いものはおそらく 役に立たない。 • AND OR site: inurl: filetype: などの検索演算子を知る べし。 • 「ショートカット一覧 AND Mac」 「修飾キー AND 活用」 でまず検索してみよう。 • 断片的な知識からたどると「知らない事を知らない」こ とがおこる。体系的にたどるために、Wikipedia が活用 できる。 • 長いキャリアを考えると、書籍からの知識の獲得は重 要。 オライリーの本は読めた方が良い。 全部熟読しても良いが、一晩で大事な箇所を情報の 位置づけを把握しながら、理解すると実用的。 14 https://www.oreilly.co.jp/books/9784873115825/ http://www.key-p.com/blog/staff/archives/104784
  • 15. 2.各種作業上の便利ソフト/サイト • Stickies : 付箋ソフト, 非常に便利。 情報は/Users/abc/Library/StickiesDatabase にある。DropBox と同期可能。 • Google Drive : 長期間確実にいろいろな情報を残したい時に便利。ただし Googleは検閲権を保留しているので、パスワードなど記載はしてはいけない。 • Todoist.com : 様々なToDo を階層状に保管できる。 • Evernote : 100個程度以下の情報をすぐに保管したいときに便利だと思う。 • 1Password : パスワードの管理に便利であるらしい。 社内の情報をクラウドに載せてはいけないという規定がある場合があるので、気 をつけること。 何をインストール/設定したのか、どういう問題/疑問が発生したか、他に何をイン ストールしたかの情報の記録は、非常に重要。 蓄積したメモは、必要なときに迅速に参照できるように、体系化しておくことも重 要。 15
  • 16. 3. よく使うショートカット 16 Cmd+, : そのアプリケーションの設定 Ctl+A : 行頭に移動 Ctl+E: 行末に移動 Ctl+K: 行末までヤンク Ctl+Y: ヤンクしたものをペースト Cmd + Shift + ”+” : 文字を大きく Cmd + Shift + ”-” : 文字を小さく 【ヒント】 インターネット上で、いろいろなアプリの ショートカット一覧を検索し、適当なページを 印刷して、ひとつひとつ日数を掛けて覚えて いくと、そのアプリの使い方をマスターしやすい。 良い参照かも: https://www.mediaatelier.com/CheatSheet/ 「Mac 修飾キー」 のネット検索はすると良いかも。 Cmd+Z : 直前操作の取り消し Cmd+Shift+Z : 取り消しの取り消し Cmd+C : コピー Cmd+V : ペースト Cmd+D : 複写 Cmd+Q : アプリの終了 Cmd+W : ファイル/ウィンドウを閉じる Cmd+T : 閉じたウィンドウをまた開く Cmd+E : ディスクドライブの取り外し Cmd+I : ファイルやドライブの情報 Cmd+O : ファイルを開く。 Cmd + Shift + H : ホームディレクトリに移動
  • 17. 4.アプリケーションはどこにあるのか? • Finder は常時起動しているの で、Command + Tab で選択。 • Cmd + Shift + A で、アプリケー ションの一覧を表示。 • Cmd + 1 や Cmd + 2 で表示方 法を変更。 • 他のショートカットを知りたい 場合は、メニューバーを見る。 • Optionキーをさらに押下すると 表示が変わることに注意。 • アプリケーションのフォルダに さらに、ユーティリティがあるこ とに注意。 17 参考: Unixコマンドの使えるターミナルで man hier を実行すると、ディレクトリの 使われ方の一般論が詳細に分かる。
  • 18. 5. エディタについて (テキストの閲覧と編集) • Sublime Editor, CotEditor, mi, atomなど様々なソフトがある。 • Macに最初から付属している textedit はあまりお薦めではない。機能 が少なすぎるので。 • 無料で利用可能なもので十分。 • 大容量のテキストの閲覧、文字コードの確認、機能の豊富さにはいろ いろな違いがある。日本語対応レベルの違いもある。 • 目的によるが、詳しい人に相談したり、ネットで評判を確かめたり、知ら ないソフトでも少しずつ使って試していくと良い。 • ターミナル上で less, vim などを使うのも良い。less * のようなワイルド カード(*等)を使った書き方で、多数のファイルをとても手軽に閲覧する ことも可能。(ただし、lessのショートカットを大量に覚える必要がある。) 18
  • 19. 6. ファイルシステムに関して 1. ファイルシステム(フォーマット)で、大文字小文字 を区別するものとしないものがある。要注意。 2. ツリー構造(木構造; Windowsと同じ)。 3. ログインディレクトリは /Users/(アカウント名) 4. アプリケーションは /Applications 5. 絶対パスを知る方法: 1. Finder からファイルのアイコンを Terminal にドラッグ 2. Finderで 右クリック+Optionキー で【パス名をコピー】 19
  • 20. 7. フリーズなどの不具合発生時: • ノートブックの蓋を閉じて、また空ける。 • 【アプリケーションの強制終了】 を起動するには、 Option + Command + Esc キー • 再起動 : • Command + Control を押しながら、電源ボタン。 • もしくは電源ボタンを4秒以上押下する。 • 起動時に Shiftキーを押すとセーフブート 20
  • 21. 8.計算資源(CPU,メモリ)など確認法 • アクティビティモニタを 起動。 (Ctrl+Space→monitor) • さらに Command + 2 で CPUの様子が分かる。 • ディスクユーティリティ を起動 (Ctrl+Space→ disk) • ディスクの構成/設定/ 初期化など 21
  • 22. 9.画像の編集について • Preview を使うのが最も簡便。 • Cmd + Ctrl + Shift + 4 でスクリーンショッ トを得る。 • (Spotlightで) Preview を起動。 • 起動もしくはCtrl+Nで、クリップボード上 の画像が表示される。 • 道具箱のようなアイコンをクリックすると、 画像編集の道具が現れる。 • 編集した画像は png 形式などで保存が 可能。(他には jpeg, tiff など) • 本格的な編集には、GIMP などを使う。多 数の画像をプログラム的に処理するには、 ImageMagickを使う。 22
  • 23. 10.辞書(英和/和英/仏英/国語/ヒンディー..) • アプリ名: Dictionary 元々Macに入っている。 • Cmd+数字で即座に切り替わる。 • Cmd+Nで何冊でも起動する。 • Cmd+, で多数の辞書から必要なものを選 択可能。 • 最近のOS になる程、辞書の数は増えて いる。 • 多くの別のアプリからでも、Ctrl+Cmd+D で英単語の意味がすぐに参照できる。 • とにかく便利。 23
  • 24. 11. 日本語入力に関して • キーボードの【英数】と【カナ】で切り替える。 • もしくは、Cmd + Spaceで切り替える。 • システム環境設定のキーボードの設定を見た方が良い。 • 外部キーボード、ウィンドウズ用キーボードを使う時は注意。 • 他社の IME の方がおそらく生産性は上がる。 • Google 日本語入力 IME • ジャストシステム社の ATOK IME = input method editor 24
  • 25. 12. パスを通す • export PATH=$PATH:(新しく追加したいパス) • echo $PATH | tr “:” “¥n” • BASH なら ~/.bash_profile にパス設定命令を書く • ZSH なら ~/.zshrc にパス設定命令を書く 25
  • 26. 13. 黒い画面でエラーを知るには • 直前のコマンドが正しく終了したかどうかを知るには、 echo $? を実行。 • 0なら正常終了。 • それ以外は何らかの異常発生 • Ctrl+C が押された場合は多くの場合,130 • Ctrl+Z で一旦停止ができる。fg コマンドで再開できる。 date; fg ; date により、再開時刻と終了時刻を表示出 来て、便利。 • エラーメッセージは、よく読もう。英語メッセージは重要。 • ライブラリ関係のエラーは厄介(影響範囲が大) 要記録。 26
  • 27. 14.長時間計算させる場合 大量のデータを処理したりする場合に、作業者が離席しても、計算を中断 したくない場合に使う。 ただし、下記は、よく検証していない。下記項目に配慮すれば十分そうで はある。 1. 【システム環境設定】を起動(System Prefrence) 2. 以下をそれぞれ設定 1. 【デスクトップとスクリーンセーバ】 の中の - 【開始までの時間】 と【ホットコーナー】 2. 【セキュリティとプライバシー】の中の 【一般】【スリープ解除/…】 3. 【省エネルギー】 1. 【ネットワークアクセスによるスリープ解除】のチェックを外す。 2. 【ディスプレイを切にするまでの時間】を10分にするなど 3. 【電源アダプタ】 の 【ディスプレイが切のときはコンピュータを自動でスリープ しない】のチェックを入れる。 もしくは、下記を行う。(下記だけで十分かどうかは不明。) 1. ターミナルで caffeinate を起動。 27
  • 30. Python2 を使わない訳 • レガシーとの互換性を保つために Python 3 が敬遠されていた時代は変わりつつある。 • Python2 はマルチバイトの問題がややこしい。
  • 32. 環境構築 • Macの環境に Python3, Pyenv, pip 等をインストール。 • しかし、途中で Docker を使うことにした。 • 理由: 標準ライブラリの一つ fileinput が動かなかった。
  • 33. Dockerのインストール 1. Mac に Docker を普通のアプリのようにインス トール。 2. Docker を起動。Macのメニューバーに鯨のアイコ ンが出現する。 3. ターミナル 1. docker images というコマンドを入力。 2. docker pull kaggle/python で約10分でイメージ取得。 4. ファイルの移動はどうする?
  • 34. Docker のコンテナの起動 • イメージとコンテナは異なる。 → 1個のイメージから多数のコンテナを起動可能。 • docker images ← イメージを確認。例: kaggle/python • docker run -it -p 8888:8888 kaggle/python bash • メインマシンとファイル共有するには –v オプション。 • 足りないソフトは apt-get install gawk などでインストール。
  • 35. Jupyter-notebook (GUI)の起動 • PythonのGUI版。長いマニュアルも読みやすい。 • jupyter-notebook --no-browser --ip=0.0.0.0 • URLが表示されるので、それをブラウザで起動する。 • ブラウザ上でいろいろ操作。 • Dキーを2回押下すると、入力コマンドラインが消えたり する。
  • 37. Macのメイン環境で起きていたこと • 解決困難な問題の発生 • 複数のpythonが混在 (python2が複数あった) • pip, pyenv などが意図通りに動作しなくなった。 • 標準ライブラリであるはずの fileinput がインタラクティ ブモードで動くのに、プログラムにしたら動かなかった。 • Homebrew も MacPorts も入れていたことが原因かも。 • Howbrew, MacPorts : MacOS用パッケージ管理システム • pip : Pythonのパッケージ管理システム • Pyenv : Python環境管理システム
  • 38. 補足 • バージョンの確認方法: • python --version (ハイフンが2個,全て小文字) • python3 --version • python2 --version (もしも、Python 2 を使いたい場合)