トップページ -> インストール,設定,利用 -> Ubuntu ソフトウエア -> システム Python とは別にPython をインストール(pyenv を使用)(Ubuntu 上)
[サイトマップへ], [サイト内検索へ]

システム Python とは別にPython をインストール(pyenv を使用)(Ubuntu 上)

pyenvは,システムPython とは別の Python をインストールするのに便利なツールである.

隔離された Python 仮想環境の作成と利用が簡単にできる機能もある.

ここで行うこと.

pyenv をインストールする.pyenv の配下に Python 3.8, Python 3.7, Python 3.6 をインストールする.

※ このページの手順は,普通の Ubuntu 20.04 と, WSL 2 上の Ubuntu 20.04 の両方で確認済み.

【このページの目次】

  1. 前準備
  2. pyenv のインストールと設定
  3. pyenv を用いて Python 3.8,3.7,3.6 のインストール
  4. pyenv の確認
  5. 各種パッケージのインストール
  6. SWIG を使ってみる
  7. 性能の確認

前準備

Ubuntu のインストール

Ubuntu 20.04 のインストールは,別ページで説明している.

OS のシステム更新

Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行.

sudo apt update
sudo apt -yV upgrade
sudo /sbin/shutdown -r now

git, libbz2-dev,libreadline-dev,libssl-dev,libsqlite3-dev のインストール

端末で,次のコマンドを実行.

これは, https://github.com/pyenv/pyenv/wiki に記載の通り.

sudo apt -yV install --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

pyenv のインストールと設定

  1. いまインストールされている pyenv の消去
    rm -rf ~/.pyenv
    
  2. pyenv のダウンロード
    cd /tmp
    git clone https://github.com/pyenv/pyenv.git ~/.pyenv
    

    [image]
  3. pyenv の更新
    cd ~/.pyenv
    git pull
    

    [image]
  4. pyenv の設定
    echo 'export PYENV_ROOT="${HOME}/.pyenv"' >> ~/.bashrc
    echo 'if [ -d "${PYENV_ROOT}" ]; then' >> ~/.bashrc
    echo '    export PATH=${PYENV_ROOT}/bin:$PATH' >> ~/.bashrc
    echo '    eval "$(pyenv init -)"' >> ~/.bashrc
    echo 'fi' >> ~/.bashrc
    exec $SHELL -l
    source ~/.bashrc
    

    [image]

pyenv を用いて Python 3.8,3.7,3.6 のインストール

  1. 新しく端末を開く
  2. システム python のバージョンを確認してみる

    Ubuntu 20.04 の場合

    which python
    python --version 
    which python3
    python3 --version 
    

    [image]

    WSL 2 上の Ubuntu 20.04 の場合

    which python3
    python3 --version 
    
  3. インストールするPython のバージョンの確認
    pyenv rehash 
    pyenv install -l 
    

    [image]
  4. インストールできる Python 3.8,3.7,3.6 のバージョンの確認
    pyenv install -l | grep 3.8
    pyenv install -l | grep 3.7
    pyenv install -l | grep 3.6
    

    [image]
  5. Python 3.8.5 のインストール
    pyenv install 3.8.5
    

    [image]
  6. Python 3.7.8 のインストール
    pyenv install 3.7.8
    

    [image]
  7. Python 3.6.11 のインストール
    pyenv install 3.6.11
    

    [image]
  8. 確認

    複数のPython がインストールされていることが確認できる.

    pyenv versions
    
    pyenv versions

    Ubuntu 20.04 の場合

    [image]

    使用する Python の切り替えは 次のコマンドで行う

    • pyenv shell system
    • pyenv shell 3.8.3
    • pyenv shell 3.7.8
    • pyenv shell 3.6.10
  9. 試しに Python 3.8.5 を起動してみる
    pyenv shell 3.8.5
    python --version
    python
    print(1 + 2)
    exit()
    

    [image]

    ※ うまく Python のバージョンが切り替わらない場合には「source ~/.bashrc」を実行してから,もう一度上を試す

  10. デフォルトで使用する Python バージョンの設定

pyenv の確認

  1. 新しく端末を開く
  2. ~/.pyenv/versions ディレクトリ
    ls ~/.pyenv/versions
    

    [image]
  3. pyenv により、pip と easy_install も設定される
    which pip
    which easy_install
    

    [image]
  4. Python のパッケージも同時にインストールされる
    pyenv shell 3.8.5
    which pip
    pip list
    

    [image]

各種パッケージのインストール

pip と setuptools の更新

pyenv shell 3.8.5
python -m pip install -U pip setuptools
pyenv shell 3.7.8
python -m pip install -U pip setuptools
pyenv shell 3.6.11
python -m pip install -U pip setuptools

[image]

Python 開発環境(JupyterLab, spyder)のインストール

次のように実行する.

pyenv shell 3.8.5
python -m pip install -U jupyterlab jupyter jupyter-console jupytext spyder

JupyterLab の起動は,「pyenv shell <バージョン>; jupyter lab」. Jupyter QtConsole の起動は,「pyenv shell <バージョン>; jupyter qtconsole」.

TensorFlow 2.3,Keras 2.4.3,MatplotLib, Python 用 opencv-python のインストール(Ubuntu 上)

  1. 「pyenv shell の実行」

    次のように実行する.

    pyenv shell 3.8.5
    
  2. パッケージのアンインストール操作

    ※ トラブルの可能性を減らすために,次の操作でアンインストールを行っておく.

    python -m pip uninstall -y tensorflow tensorflow-gpu keras 
    

    [image]
  3. TensorFlow 2.3,Keras 2.4.3,MatplotLib, Python 用 opencv-python のインストール

    ※ 「pip3 install」は,Python パッケージをインストールするためのコマンド.

    python -m pip install -U pip setuptools
    python -m pip install -U tensorflow-gpu tensorflow_datasets tensorflow-hub keras matplotlib opencv-python
    python -m pip install -q git+https://github.com/tensorflow/docs
    python -m pip install -q git+https://github.com/tensorflow/examples.git
    
  4. Python の numpy がインストールできたことの確認

    ※ バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.

    python -c "import numpy; print( numpy.__version__ )"
    

    [image]
  5. TensorFlow のバージョン確認

    ※ バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.

    python -c "import tensorflow as tf; print( tf.__version__ )"
    

    [image]
  6. Keras のバージョン確認

    ※ バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.

    python -c "import keras; print( keras.__version__ )"
    

    [image]
  7. GPU が認識できてるかの確認

    python -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"
    

    次のように「device_type: "GPU"」があれば,GPUが認識できている.エラーメッセージが出ていないことを確認しておくこと.

    [image]

各種パッケージのインストール

  1. 「pyenv shell の実行」

    次のように実行する.

    pyenv shell 3.8.5
    
  2. インストール操作

    python -m pip install -U pip setuptools
    python -m pip install -U  numpy scipy h5py scikit-learn scikit-image seaborn pandas pandasql pillow pytest pyyaml cython bokeh statsmodels plotly sympy csvkit docopt pyproj flake8 protobuf pymc3 bs4 html5lib rope wrapt mkl mkl-include cffi wheel six holoviews sphinx bottleneck pygments numexpr xlrd xlsxwriter lxml graphviz pydot flask django redis pylint bz2file PyOpenGL    msgpack pandas-bokeh ggplot prettyplotlib pybrain3 firebase-admin googletrans google-cloud-vision gpyocr azure-cognitiveservices-vision-computervision gensim mecab matplotlib-venn pygame gloo scikit-video scikits.datasmooth scikits.example scikits.fitting scikits.optimization scikits.vectorplot bottle zodb gdata
    

SWIG を使ってみる

  1. SWIG のインストール (Install swig)
    sudo apt -yV install swig
    

    [image]
  2. プログラムファイルの作成

    http://www.swig.org/Doc1.3/Python.html#Python_nn6 に記載のサンプルプログラム

  3. プログラムファイルから、Python で実行可能にするためのファイルを作る
    swig -python example.i
    python setup.py build_ext --inplace
    ls -la example.* build 
    

    [image]
  4. python 処理系を起動し、次のプログラムを試してみる
    import example
    example.fact(4)
    exit()
    

    [image]

性能の確認

行列の積, 主成分分析, SVD, k-Means クラスタリングを実行し,性能を確認する.

Python 3.6 での実行結果を示す.

  1. まず,前準備として,次のコマンドを実行
    pyenv shell 3.6.10
    python -m pip install -U numpy scikit-learn
    
  2. 性能の確認のため,次の Python プログラムを実行
    import time
    import numpy
    import numpy.linalg
    import sklearn.decomposition
    import sklearn.cluster
    X = numpy.random.rand(2000, 2000)
    Y = numpy.random.rand(2000, 2000)
    # matrix product
    a = time.time(); Z = numpy.dot(X, Y); print(time.time() - a)
    # pca
    pca = sklearn.decomposition.PCA(n_components = 2)
    a = time.time(); pca.fit(X); X_pca = pca.transform(X); print(time.time() - a)
    # SVD
    a = time.time(); U, S, V = numpy.linalg.svd(X); print(time.time() - a)
    # k-means
    a = time.time(); 
    kmeans_model = sklearn.cluster.KMeans(n_clusters=10, random_state=10).fit(X)
    labels = kmeans_model.labels_
    print(time.time() - a)
    

    実行結果の例


本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

問い合わせ先: 金子邦彦(かねこ くにひこ) [image]