anyenv を用いた Python のインストール方法

  • 最新版の Python を Ubuntu や LinuxMint で使いたい場合の方法を紹介する。
  • 環境は fish-shell (Ver. 3.1.2) を想定している。
    • 基本的には、環境変数の書き換えでシェル環境が変わる程度だが、参考サイトには、bash 環境でのインストールも紹介されている。
  • 通常の pyenv もあるが、anyenv は pyenv も含め、他の言語環境構築もできるので採用した。
  1. git をインストールする。
    $ sudo apt install git
  2. anyenv をインストールする (今回はホームディレクトリ直下にインストールする)。
    $ git clone https://github.com/riywo/anyenv ~/.anyenv
  3. エディタで、$HOME/.config/fish/config.fish に以下の行を追加する。
    if [ -d $HOME/.anyenv ]
        set -x PATH $HOME/.anyenv/bin $PATH
        eval (anyenv init - | source)
    end
  4. シェルを再読込する。
    $ exec fish -l
    • source $HOME/.config/fish/config.fish だとうまく環境変数が更新できないため、上のコマンドを実行する。
  5. anyenv がインストールされたかチェックする。
    $ anyenv -v
    anyenv 1.1.1
  6. anyenv のプラグインをインストールする。
    $ mkdir -p ~/.anyenv/plugins
    $ git clone https://github.com/znz/anyenv-update.git ~/.anyenv/plugins/anyenv-update
    $ anyenv install --init
    $ anyenv update
    • このプラグインは *env をすべてアップデートする。
  7. pyenv をインストールする。
    $ mkdir ~/.anyenv/envs/
    $ anyenv install pyenv
    $ exec fish -l
  8. pyenv がインストールされたかチェックする。
    $ pyenv -v
    pyenv 1.2.18-4-g5b009e87
  9. 運用に必要なライブラリをインストールする。
    $ sudo apt install libffi-dev libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev
  10. 特定のバージョンの python をインストールする。
    $ pyenv install -l
    $ pyenv install 3.7.4
  11. python がインストールされたか確認する。
    pyenv versions
    * system (set by /home/user/.anyenv/envs/pyenv/version)
      3.7.4
  12. Python のバージョンを切り替える。
    $ pyenv local 3.7.4
    $ python --version
    Python 3.7.4
    $ pyenv versions
      system
    * 3.7.4 (set by /home/user/.python-version)
  13. 仮想環境 (test) を導入する。
    $ python -m venv test
    $ . test/bin/activate.fish
    • この後に、仮想環境で作業する。
    • 仮想環境用のツールは test ディレクトリが生成されており、その中に含まれている。
  14. 仮想環境を終了する。
    $ deactivate
  • pandas で利用するため、以下のパッケージをインストールした。
    $ sudo apt install liblzma-dev
    $ pip install pandas