Python in もうPythonをcondaが便利 $ conda install django...

27
みんなのPython勉強会 in 長野 #1 もうPythonはじめるしかない! 真吾(@tsjshg[email protected]

Transcript of Python in もうPythonをcondaが便利 $ conda install django...

Page 1: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

みんなのPython勉強会 in 長野 #1

もうPythonを はじめるしかない!

辻 真吾(@tsjshg)[email protected]

Page 2: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

自己紹介❖ 1975年 東京都足立区出身

❖ 大学時代のC++やITベンチャー時代のJavaを使ったWeb

アプリ開発を経て、10年ほど前からほとんどPython

❖ 都内の某大学でライフサイエンス分野の研究員

❖ Pythonでデータ解析

❖ 近々退職し、新会社を作ります

Page 3: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

今日の構成

❖ Pythonの現状と魅力

❖ Pythonの環境構築方法

❖ Pythonやその周辺技術をどう学ぶか?

❖ 忌憚の無いご意見、大歓迎です

Page 4: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

遂に2位!

http://pypl.github.io/PYPL.html

Page 5: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

王者の背中も見えて来た!

Page 6: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

実は1番人気

http://blog.codeeval.com/codeevalblog/2016/2/2/most-popular-coding-languages-of-2016

Page 7: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

勝ち馬に乗った方がいい

Page 8: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

ちょっとまじめに考察

❖ 昨今のAI(機械学習)やデータ解析ブームが影響?

❖ Pythonはこの分野で中心的な役割を担っている

❖ Deep Learningやりたくて渋々始めてPythonの魅力にハマる(勝手な空想ですが)

❖ でも、何がそんなにいいのか?また、ダメなところはないのか?

Page 9: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

Batteries Included (電池内蔵)

すべて標準ライブラリ

Page 10: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

豊富な外部ライブラリ

外部モジュールが豊富 100,868個(2017年3月17日)

Page 11: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

Pythonはglue(のり)言語

Page 12: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

Pythonの環境構築

Page 13: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

Pythonのインストール

❖ 2系と3系がある

❖ 後方互換性がありません

❖ 是非3を!

❖ MacOSXやLinuxのOSにはじめからインストールされているのが2系(なのが残念)

❖ 標準ドキュメントもここに www.python.org

Page 14: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

Anacondaがおすすめ!

❖ Continuum Analytics社が配布するPython

❖ 標準のPythonにcondaをはじめとして多くの外部ライブラリ(データ解析用が中心)を同梱

❖ 無料

https://www.continuum.io

Page 15: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

ライブラリの追加方法

ファイルをダウンロードして解凍後$ python setup.py install

(環境依存のパス)/lib/python3.5/site-packagesのようなディレクトリにインストールされる

Page 16: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

実際はpipが便利• Python3.4から標準装備

• PyPIから自動ダウンロード

• pip install -U django

• -U or --upgradeで最新版を取得

• pip freeze

• いまの状態を表示

Page 17: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

しかし・・・❖ CやFORTRANで書かれたライブラリがその場でコンパイルされることがある

❖ Linuxは大丈夫

❖ MacOSXならXCodeのインストールで対応

❖ 開発環境を手軽に整えるのが難しいWindowsでこの問題は重い

Page 18: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

condaが便利

❖ $ conda install django

❖ pipと同じような方法で、外部モジュールを追加

❖ PyPIではなく、Continuum Analytics社のレポジトリに接続し、Windowsでもコンパイル済みのバイナリをとってきてくれる

❖ PyPIのバージョンよりちょっと古いことも

Page 19: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

condaで仮想環境をつくる

❖ Python3.xとPython2.xの両方欲しいとき

❖ $ conda create python=2.7 -n my27env

❖ $ source activate my27env

❖ $ source deactivate my27env

Page 20: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

Jupyter notebookが便利

❖ 高性能なPythonインタラクティブシェルIPython

❖ コマンドラインでipython

❖ Webブラウザで利用できるJupyter notebook

❖ Python以外の言語も利用可能

❖ コードの入力、実行、結果の表示、保存などができる

❖ ノートブックをHTML形式に変換したりプレゼン資料の作成も

Page 21: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

200変数を持ったサンプルが10個入ったExcelデータ

Page 22: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

OSのシェルで、「jupyter notebook」と入力するとWebブラウザが起動

Page 23: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

Pythonと その周辺技術をどう学ぶか?

Page 24: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

*個人の意見です❖ とにかく書く

❖ 目的を持ってプログラミングをする

❖ Project Euler、リクルートCodeIQなど

❖ 多言語からの乗り換えなら、翻訳は良いトレーニング

❖ 書く前に調べる

❖ 時々浮気する

Page 25: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

数学とどう向き合うか?

http://phdthesis-bioinformatics-maxplanckinstitute-molecularplantphys.matthias-scholz.de/

http://manabukano.brilliant-future.net/document/text-PCA.pdf

Page 26: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

まとめ

❖ Pythonの勢いがすごい(遂に来るところまで来た感)

❖ Batteries Included

❖ Anacondaおすすめ

❖ Jupyter notebook良いです

❖ もうPythonを始めるしかない!

Page 27: Python in もうPythonをcondaが便利 $ conda install django pipと同じような方法で、外部モジュールを追加 PyPIではなく、Continuum Analytics社のレポジトリ

ご静聴ありがとうございました