pythonメニュー

モジュール管理, 仮想環境管理

pipによるモジュール管理

普通に「ピップ」や「ピーアイピー」と読んだりしていますが、これでパッケージ管理をしています。
操作使い方
インストールpip install パッケージ名pip numpy
バージョン指定インストールや入れ替えpip install パッケージ名==バージョン番号pip install numpy==1.14.5
更新するpip install パッケージ名 --upgradepip install numpy --upgrade
インストール済みのパッケージ一覧pip list
インストール済みのパッケージ一覧(バージョン含む)pip freeze
アンインストールpip uninstall パッケージ名pip uninstall numpy
使い方pip --help
pip自体は、get-pip.pyを取得して、これを実行させることでのインストールしてアップグレードます。
wget https://bootstrap.pypa.io/get-pip.py		(←ブラウザでダウンロードしてもよい。)
python get-pip.py
python -m pip install --upgrade pip
import 〇〇で見つからないエラーが生じた場合の対応
追加モジュールの位置を調べる例「pip show matplotlib」

import sys
print(sys.path) # の内容がimportで使うモージュールの検索パスになっている。
# 実行時に例えば次のように追加指定が可能
sys.path = ['R:\python-3.6.8-embed-win32\lib\site-packages'] + sys.path 

また、
[R:\python-3.6.8-embed-amd64\Lib\site-packages]に
「current.pth」(ファイル名はなんでもよい)のファイルを作成します。
その内容は、『
import sys;sys.path.append('');sys.path.append('..');』と改行なしの1行で書く

モジュール管理 venv

venvは、 Python 3.3 から標準機能として取り込まれ、別途ソフトウェアインストールすることなく使用できる手軽に仮想環境用です。
(なお、pyvenv スクリプトというものもあるが、 Python 3.6 で非推奨) venvは Python 3.x.x 下に組み込まれた機能なので,Python 自体のバージョンは管理できない。
複数の異なるバージョンでPythonの仮想環境を作る場合は、virtualenvや次のanacondaを使う必要があります。

cd [project dir]
python -m venv [newenvname]
以上で [newenvname]の仮想環境が作られます。
これによって [newenvname]のフォルダが生成されその中に、activate用やdeactivateのスクリプトが作られます。
つまり仮想環境の[newenvname]のフォルダ位置にカレントディレクトを移動して、「Scripts\activate」でアクティブにし、「deactivate」の コマンドで環境を終了できます。

モジュール管理 anaconda

個人的には、デフォルト科学計算に必要なライブラリやさまざまなユーティリティが使えるので、便利に使っています。
しかし「環境を切り替える際の手間がかかり遅い。」という意見や、pipを使って不具合が生じたなどの情報がネットに存在しています。
Anacondaにはcondaという独自のパッケージマネージャーが付属しており、異なるバージョンのpythonの仮想環境の管理ができます。
condaとpipとでインストール等は似ていますが、両者のパッケージの仕組みは全く異なり、基本的に互換性がありません。
そして、condaで作った仮想環境で、Anaconda社のレポジトリからは提供されていない場合、pipを使ってインストールする技法も使われています。
ですが、両ツールを混在すると、不具合が生じるケースがあるようです。
個人的には、condaで環境を作った後は、その環境内でconda installを一切用いないでpipだけを使うようにして、問題を回避しています。

python開発において、モジュールによってPythonのあるバージョンでは動作するが、あるバージョンでは動作しないという経験がよくあります。
このようなケースで、Anacondaの仮想環境は、各環境で簡単に実験できるので、とても便利です。

起動が遅いという人もいますが、GUIを使わない方法で管理すると、そんなことはりません。
condaで作った環境をbatファイルで起動する方法です。(全て、CUIだけの操作です。)
環境作成は、「conda create -n 仮想環境の名前 python=バージョン [インストールパッケージ] 」です。
例えば、「myenv」の環境名で、pythonの3.6のバージョンの環境を作る場合、anacondaのプロンプトで次のように操作します。
conda create -n myenv python=3.6

なお、上記で作った「myenv」の環境でpaythonを使うには次のコマンド操作です。
conda activate myenv

また、この仮想環境を非Activeにして元の環境に戻るには、次のコマンド操作です。
conda deactivate

「myenv」の仮想環境の削除する場合は、次のコマンド操作です。
conda remove -n myenv --all

現在のアクティブ仮想環境の全貌を確認する場合は次のコマンド操作です。
conda info -e

現在構築されている仮想環境の一覧を表示する操作は、次の通りです。 conda env list
この仮想環境の名前で、その環境のコマンドプロンプトを出現させるWindowsのbatファイル例を示します。 「myenv」の仮想環境名であれば次のようになります。
set PATH=%USERPROFILE%\Anaconda3\Scripts\;%PATH%
cmd.exe "/K" %USERPROFILE%\Anaconda3\Scripts\activate.bat %USERPROFILE%\anaconda3\envs\myenv