とても興味深い話を聞いたのでシェアします。
開発環境構築では何が良いのか問題は付いて回ると思います。
聞いた限りでは
- venv
- conda
- pyenv(むしろ非推奨)
venv
標準機能で環境の中にシンボリックリンク構造を作り、環境構築。(らしい)
ある程度のバージョンは呼び出すときに
python3.6 -m venv <任意 name>
と書けばある程度はバージョン別管理もできる。
conda
標準機能ではない分venvに劣る。
環境を封入できるという点では非常に優秀
pyenv
標準機能ではない
土台となる部分が複雑になりガチ、トラブルの原因となる
メリットはver3.6.4と細かいバージョンの管理が可能。逆を言うとそこまでやる必要のある人しか必要はない。
venv 環境の構築(複製まで)
環境構築
の前にバージョン確認する
python -V
基本はバージョン3であることを確認。
anaconda でPython環境を構築している場合は、無用なトラブルを避けるためにanaconda環境を辞めること。
事前にanaconda は削除して直にpython3をインストールする。
前段でもお伝えしたがシンプルの環境構築のため、必要な構成で環境構築する。
環境を作る作業フォルダを作り、その作業フォルダーに移動。
mkdir <任意 name>
cd <任意 name>
venvの一つの環境を作成
python -m venv <任意 name>
環境を起動する
source [任意 name]/bin/activate
pipで必要なパッケージをインストールする
pip install xxxxx
インストールされているパッケージを確認の仕方
pip freeze
複製方法
requirement.txtにパッケージ情報のファイルをrequirement.txt出力
pip freeze > requirement.txt
※ cat requirement.txt 内容確認できます。後ほど設定ファイルとして読み込みます。
venv pythonでバージョン管理
venvのもう一つの環境を作成
mkdir <任意 name>
cd <任意 name>
python -m venv <任意 name>
環境を起動する
source [任意 name]/bin/activate
一つ目で設定ファイルrequirements.txtで同一のパッケージで環境構築出来ます。
pip install --require requirements.txt
以上
作業シンプルで簡単なので今後は、このようにPythonに携わっていきたいと考えています。