#pyenvのインストール
###pyenvとは
pythonのバージョンを簡単に切り替えるて利用できるようにするツールです
###Homebrewでpyenvをインストールする場合
% brew install pyenv
###gitでpyenvをインストールする場合
% git clone git://github.com/yyuu/pyenv.git ~/.pyenv
###pyenvを利用する前にターミナルで利用するシェルの確認
% echo $SHELL
/bin/bash か /bin/zsh が表示される
###bashの場合
% vi ~/.bash_profile
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
% source ~/.bash_profile
###zshの場合
% vi ~/.zshrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
% zsh -l
#pyenvでpythonをインストールする
###インストール可能なpythonのバージョンを確認し、インストールする
% pyenv install --list
% pyenv install 3.8.3
% pyenv install 3.8.2
% pyenv versions
###pythonをインストールしてきた後はshimのリフレッシュをしておく。
% pyenv rehash
###特定のディレクトリ配下で利用するpythonのバージョンを設定する
% pyenv local 3.8.2
% ls -lah
.python-version
% cat .python-version
3.8.2
###全体で利用するpythonのバージョンを設定する
% pyenv global 3.8.3
###バージョンの確認
% pyenv version
###アンインストール
pyenv uninstall 3.8.2
#pipの利用
###pipとは
python標準のパッケージはたいていpythonをインストールする時点で
自動的にインストールされます。
サードパーティのパッケージは別途インストールが必要で、
PyPIという下記のサイトで配布されています。
https://pypi.org/
このサードパーティが配布しているパッケージをインストールするために、
pipを使ってパッケージの管理が行います。
###pipのバージョンを確認する
% python -m pip list
Package Version
---------- -------
pip 19.2.3
setuptools 41.2.0
WARNING: You are using pip version 19.2.3, however version 20.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
pipのバージョンアップ
% python -m pip install pip --upgrade
Collecting pip
Using cached https://files.pythonhosted.org/packages/43/84/23ed6a1796480a6f1a2d38f2802901d078266bda38388954d01d3f2e821d/pip-20.1.1-py2.py3-none-any.whl
Installing collected packages: pip
Found existing installation: pip 19.2.3
Uninstalling pip-19.2.3:
Successfully uninstalled pip-19.2.3
Successfully installed pip-20.1.1
#pipenvの利用
###pipenvとは
Pipenvは、Python公式が正式に推薦する依存関係管理・パッケージングのためのツールです。
###pipenvのインストール
% pip install pipenv
###pipenvの利用方法
####プロジェクト「project1」を作成する
% mkdir /develop/python/tutorial/project1
% cd /develop/python/tutorial/project1
####プロジェクトでpython3.8.3を利用するとする
% pipenv --python 3.8.3
% ls -lah
Pipfile
####numpyパッケージをインストールする
% pipenv install numpy
% ls -lah
Pipfile
Pipfile.lock
####Pipfileに利用するパッケージの情報が書かれている
% cat Pipfile
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
[packages]
numpy = "*"
[requires]
python_version = "3.8"
####Pipfile.lockにインストール済みパッケージの詳細が書き込まれる
% cat Pipfile.lock
{
"_meta": {
"hash": {
"sha256": "b59842a2e4aca58430e4c67380e4d495bd0cb8b31d65c29e51235c48f9456e4b"
},
"pipfile-spec": 6,
"requires": {
"python_version": "3.8"
},
"sources": [
{
"name": "pypi",
"url": "https://pypi.org/simple",
"verify_ssl": true
}
]
},
"default": {
"numpy": {
"hashes": [
"sha256:13af0184177469192d80db9bd02619f6fa8b922f9f327e077d6f2a6acb1ce1c0",
"sha256:26a45798ca2a4e168d00de75d4a524abf5907949231512f372b217ede3429e98",
"sha256:26f509450db547e4dfa3ec739419b31edad646d21fb8d0ed0734188b35ff6b27",
"sha256:30a59fb41bb6b8c465ab50d60a1b298d1cd7b85274e71f38af5a75d6c475d2d2",
"sha256:33c623ef9ca5e19e05991f127c1be5aeb1ab5cdf30cb1c5cf3960752e58b599b",
"sha256:356f96c9fbec59974a592452ab6a036cd6f180822a60b529a975c9467fcd5f23",
"sha256:3c40c827d36c6d1c3cf413694d7dc843d50997ebffbc7c87d888a203ed6403a7",
"sha256:4d054f013a1983551254e2379385e359884e5af105e3efe00418977d02f634a7",
"sha256:63d971bb211ad3ca37b2adecdd5365f40f3b741a455beecba70fd0dde8b2a4cb",
"sha256:658624a11f6e1c252b2cd170d94bf28c8f9410acab9f2fd4369e11e1cd4e1aaf",
"sha256:76766cc80d6128750075378d3bb7812cf146415bd29b588616f72c943c00d598",
"sha256:7b57f26e5e6ee2f14f960db46bd58ffdca25ca06dd997729b1b179fddd35f5a3",
"sha256:7b852817800eb02e109ae4a9cef2beda8dd50d98b76b6cfb7b5c0099d27b52d4",
"sha256:8cde829f14bd38f6da7b2954be0f2837043e8b8d7a9110ec5e318ae6bf706610",
"sha256:a2e3a39f43f0ce95204beb8fe0831199542ccab1e0c6e486a0b4947256215632",
"sha256:a86c962e211f37edd61d6e11bb4df7eddc4a519a38a856e20a6498c319efa6b0",
"sha256:a8705c5073fe3fcc297fb8e0b31aa794e05af6a329e81b7ca4ffecab7f2b95ef",
"sha256:b6aaeadf1e4866ca0fdf7bb4eed25e521ae21a7947c59f78154b24fc7abbe1dd",
"sha256:be62aeff8f2f054eff7725f502f6228298891fd648dc2630e03e44bf63e8cee0",
"sha256:c2edbb783c841e36ca0fa159f0ae97a88ce8137fb3a6cd82eae77349ba4b607b",
"sha256:cbe326f6d364375a8e5a8ccb7e9cd73f4b2f6dc3b2ed205633a0db8243e2a96a",
"sha256:d34fbb98ad0d6b563b95de852a284074514331e6b9da0a9fc894fb1cdae7a79e",
"sha256:d97a86937cf9970453c3b62abb55a6475f173347b4cde7f8dcdb48c8e1b9952d",
"sha256:dd53d7c4a69e766e4900f29db5872f5824a06827d594427cf1a4aa542818b796",
"sha256:df1889701e2dfd8ba4dc9b1a010f0a60950077fb5242bb92c8b5c7f1a6f2668a",
"sha256:fa1fe75b4a9e18b66ae7f0b122543c42debcf800aaafa0212aaff3ad273c2596"
],
"index": "pypi",
"version": "==1.19.0"
}
},
"develop": {}
}
####開発環境用のパッケージをインストールする
$ pipenv install --dev ptvsd pytest
####パッケージをアップデートする
$ pipenv update pytest
####パッケージをアンインストールする
$ pipenv uninstall --all
####開発用のパッケージのみアンインストールする
$ pipenv uninstall --all-dev
###PipfileとPipfile.lockの再利用
####Pipfileの利用
Pipfileをもとにパッケージをインストールします。
このときにインストールした内容でPipfile.lockが更新されます.
$ pipenv install
####開発用のパッケージもインストールしたい場合は--devをつける
$ pipenv install --dev
####Pipfile.lockの利用
Pipfile.lockをもとにパッケージをインストールします。
$ pipenv sync
####開発用のパッケージもインストールしたい場合は--devをつける
$ pipenv sync --dev