Pythonインストール
Windows
https://www.python.jp/install/windows/install_py3.html
サイト内でリンクを探せば、2.7のインストール情報もある。
私はWindows版のpythonはめったに使わないので、以降の話では基本対象としていない。
Linux
https://www.python.jp/install/centos/index.html
https://www.python.jp/install/ubuntu/index.html
ソースからビルドするのを推奨してるんだ・・・。
Linuxにはデフォルトで入っているのが定番だけど、自分で使いたいバージョンちゃんと入れましょうということらしいけど、なぜyumとかdpkgとかapt-getとかでないのか・・?
因みに上記の手順でビルドすると、一部ライブラリが正しく参照できず、以下のURLに頼ることに。。
http://kenzo0107.hatenablog.com/entry/2015/02/17/114506
pip(パッケージ管理)インストール
3.4以降はpython本体と一緒に入ってるとのこと。
昔ながらのpipインストールは↓のイメージ。
https://qiita.com/suzuki_y/items/3261ffa9b67410803443
Pythonのバージョン管理
pyenv
使ったことないけど、存在は認識している。
https://qiita.com/koooooo/items/b21d87ffe2b56d0c589b
venv
厳密にはpython環境管理という感じ。
https://docs.python.jp/3/library/venv.html
python3系には標準で備わっている。
Windows環境で使ったので下記のコマンドで覚えた。(C:\path\to
は予め作っておく)
c:\Python35\python -m venv c:\path\to\myenv
Windows環境でアクティベイトする場合はこんな感じ。
c:\path\to\myenv\Scripts\Activate.ps1
※Windowsのデフォルトでは実行がブロックされるので、解除の方法は以下を参照。
https://qiita.com/Targityen/items/3d2e0b5b0b7b04963750
c:\path\to\myenv\Scripts\activate.bat
virtualenv(古いのかも・・・)
pythonに詳しい人(PyConでしゃべるような人)から、「venvで~」といわれたので、2.7時代の遺産なのかも。
厳密にはpython環境管理という感じ。
https://qiita.com/caad1229/items/325ca5c8ad198b0ebce7
virtualenvのバージョンが古いとPython3.5の環境が作れないということがあったので、要バージョンアップ。
pip install --upgrade pip
pip install --upgrade virtualenv
こちらはよく使うのだが、環境を作る元となるpythonのバージョンがインストールされている必要がある。
以下のように-p
で作成する環境のpythonのバージョンをコントロールしているため。
mkvirtualenv --no-site-packages -p /usr/bin/python3.5 my_env
pip(パッケージ管理)関連
パッケージのインストール
言わずもがな感あるけど・・・。
pip install パッケージ名
requirements.txtの使い方
requirements.txtは、phpで言うならcomposerのcomposer.json、node.jsで言うならnpmのpackage.jsonなわけだけど、手動で生成するものらしい。
https://www.lifewithpython.com/2014/03/python-install-multiple-modules-.html
requirements.txtの出力
pip freeze > requirements.txt
requirements.txtからのパッケージインストール
pip install -r requirements.txt
pytest(自動テスト)
pythonのユニットテストといえばこれだけど、案外オプションが多くて覚えてられない。
実行するだけなら、テストコードを書いて pytest {テストファイル名}
でいける。
そんな中、いい感じにまとまってたサイト↓。
https://www.m3tech.blog/entry/pytest-summary