D2MatE
pythonページ (より進んだ話題)
ライブラリのインストール
pythonでは様々なライブラリ・パッケージを利用することで多くの機能を簡単に使うことができます。
ライブラリ・パッケージのインストールのため、pip
が標準パッケージマネージャとして用意されています。
注: anaconda, minicondaには conda
という独自パッケージマネージャが用意されていますが、ここでは扱いません
pip 簡易マニュアル
- パッケージのインストール
> pip install パッケージ名
- 最新版にする
> pip install --upgrade パッケージ名
- バージョン指定でインストール
> pip install パッケージ名==バージョン番号
> pip install "numpy<2"
- アンインストール
> pip uninstall パッケージ名
- インストール済みパッケージの一覧
> pip list
- 特定のパッケージのバージョン表示
> pip show パッケージ名
> python -c "import numpy; print(numpy.__version__)"
- パッケージを指定して、使えるバージョンを調べる
以下のオプションが廃止されたので、https://pypi.org/project/pip-search/
で調べる
> pip serach パッケージ名==
- バージョン競合などが発生した場合に、強制的にインストール
> pip install --force-reinstall パッケージ名==バージョン番号
- ユーザーのホームディレクトリにパッケージをインストール
> pip install --user パッケージ名
ライブラリがインストールできない場合の対処法
- 複数のpython環境が混在している場合、実行している
pythonとpipのバージョンがずれていることがある。
> python --version
> pip --version
> where python (Linux: % which python)
> where pip (Linux: % which pip)
で、該当pythonに対応しているpipを使っているかを確認する
対応が怪しい場合、
> python -m pip install モジュール名
で、pythonコマンドを使ってインストールしてみる
- pipを最新版にし、wheelライブラリの最新版をインストールする
> pip install --upgrade pip
> pip install wheel
- パッケージをインストール、あるいは最新版にする
> pip install パッケージ名
(空白で区切って複数のパッケージをインストールできる)
> pip install --upgrade パッケージ名
- それでも No module
エラーが出るようであれば、アンインストールしてやりなおし
> pip uninstall パッケージ名
> pip install パッケージ名
それでもだめな場合は以下を試してみる。しかし、仮想環境を新しく作って全ライブラリを再インストールする方が簡単
- インストールされているライブラリを確認する
インストール済みパッケージの一覧: > pip list
特定のパッケージのバージョン表示: > pip show
パッケージ名
- 場合によっては、使えるバージョンを調べ、バージョン指定
(ダウングレード) で解決できる場合もある
> pip install パッケージ名==
バージョン指定でインストール
> pip install パッケージ名==バージョン番号
バージョン競合などが発生した場合に、強制的にインストール
> pip install --force-reinstall パッケージ名==バージョン番号
pymcをWindowsで動かす
- > pip install pymc, arviz
- g++を使えるようにすると高速に実行できる。cygwin、MinGWよりMSYS2の方が軽い?
公式サイト https://www.msys2.org/
から MSYS2 をインストール
- MINGW64ターミナルからインストール
pacman -Syu # 最初にすべてアップデート(再起動が必要なことも)
pacman -S mingw-w64-x86_64-gcc
C:\msys64\mingw64\bin
を PATHについか
- PyTensorにg++を認識させる。いかのどれか。
・ 環境変数に CXX=g++
を追加
・ pythonで
os.environ["CXX"] = "g++"
を実行
・ホームディレクトリ/.pytensorrc
に追加
[global]
cxx = g++