見出し画像

Ubuntu 18.04にpyenvをインストールする

上記のリンクのように、前回までで、ubuntu上にnvidia-docker2をインストールしたのですが、これは、実は、なるべく、OS上の実行環境を汚さずに、もろもろの開発用のOSレベルで使うライブラリをコンテナ上に閉じ込めたかったからでした。

そうすることで、コンテナのホストであるUbuntuのOS上には、最低限のライブラリだけが入った状態になり、Pythonに限らず、諸々の環境を作るときに、グローバルな環境がほぼ標準な状態で残るため、色々とハマりどころが減ると思ったからでした。

しかし、元々やってみたかった環境を作ろうとして、nvidia-docker2を使って、GPUも認識可能なPythonの実行環境を作ってJupyter notebook serverを立ち上げ、その状態で、同じローカルネットワークにあるMacでPyCharm Professional上のnotebookエディタからそのServerにつないでなんとかしてみようとしたところ、うまく行かず、諦めました。なお、PyCharmからではなく、ブラウザでnotebookを編集する分には、前述のコンテナ内のjupyterサーバー上のファイルを編集できました。

前置きが長くなりましたが、上記のようにやりたかったことに失敗したため、もうちょっと挑戦するのは一旦諦め、おとなしくUbuntuのOS上にpyenvをインストールし、pythonのバージョン切り替えの管理をすることにしました。これで、Ubuntuのローカル環境にインストールしたPyCharmからは快適にnotebookの編集ができるはずです。

ちなみに、pyenvでpythonのバージョンを切り替え、さらに、この記事では紹介しませんが、pipenvを使うことで、特定のpythonバージョン内でも、プロジェクトで使うディレクトリごとなどで、つかうライブラリをvirtualenv内に閉じ込めておくことができます。

というわけで、まずは、pyenvのインストールを行います。

pyenv-installerを使ったpyenvインストール

pyenvはaptで直接インストールできないようなので、pyenvの公式サイトからも紹介されているpyenv-installerを使ってみることにします。

まずは、公式サイトのWiki に記載されているように、pyenvインストール後、pythonをインストールするときに必要な各種ライブラリをaptでインストールします。

$ sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git

次に、以下のコマンドを実行

$ curl https://pyenv.run | bash

これで、pyenvが使えるようになりますが、インストール直後のwarningメッセージにしたがって、~/.bashrcに以下を記載しておきます。

.bashrc

export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

ためしに、インストール可能なpythonのバージョンを表示するために、以下のようにコマンドを打つと結果が表示されているはずです。

$ pyenv install -l



この記事が気に入ったらサポートをしてみませんか?