Python(pyenv+Miniconda)のインストール

はじめに

 こんにちは。FXや暗号資産の自動売買をするため、クラウドサーバを建てて環境構築を行います。前回までは、Ubuntuの設定まで行いました。今回はPythonのインストールを行います。

pyenv+Minicondaによる仮想環境構築

 実はUbuntuには既にデフォルトでPythonがインストールされています。次のコマンドでPythonのバージョンを確認してみてください。

$ python -V
Python 2.7.17
$ python3 -V
Python 3.6.9

 すでにPythonのライブラリを何にするかが決まっていれば、デフォルトでインストールされているPythonをそのままか、あるいはバージョンアップして使っても良いです。一方、試行錯誤しながら環境構築していく場合は、ライブラリによってはPythonのバージョンに対応できない場合がありますので、仮想環境の管理ができると便利です。仮想環境の管理のやり方はいろいろありますが、私はpyenv+Minicondaの組み合わせで環境を作っています(メジャーではないと思いますが・・・)。 pyenvとMinicondaの役割はざっくりいうと以下の感じです。

pyenv・・・複数のPythonのバージョンを持てるようにする。
Miniconda・・・プロジェクトごとの仮想環境の切り替え。

事前準備

 AWS Cloud9のターミナルで操作します。シェルはbashを使うことが前提です。まず念のため、Ubuntuのパッケージ情報の更新とパッケージの更新を行っておきます。

$ sudo apt update
$ sudo apt upgrade

pyenvのインストール

 以下の手順でpyenvをインストールします。

# pyenvのダウンロードとインストール
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv

# .bashrcの更新
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc


# 設定を反映
$ source ~/.bashrc

 まず、ホームディレクトリ直下の.pyenvというディレクトリにpyenvをダウンロードします。それからホームディレクトリ直下の.bashrcというファイルを書き換えます。このファイルはbashというシェルが起動したときに読み込まれる設定ファイルです。最後に.bashrcに書き込んだ設定を反映させます。これでpyenvのインストールは完了です。

Minicondaのインストール

 Minicondaは、Pythonや必要最低限のパッケージとパッケージ管理システム(conda)が入っているディストリビューションで、Anacondaの最小構成版です。pyenvを使ってMinicondaをインストールします。

# minicondaの最新版をインストール
$ pyenv install miniconda3-latest

# 新規インストール時に実行必要
$ pyenv rehash

# minicondaをメインのPythonに設定。
$ pyenv global miniconda3-latest

# activateがpyenvとminicondaでバッティングするので、pathを明示。
$ echo 'export PATH="$PYENV_ROOT/versions/miniconda3-latest/bin/:$PATH"' >> ~/.bashrc
$ source ~/.bashrc

 Minicondaがインストールされたかどうか確認しましょう。

# 念のためcondaをアップデート。Proceed ([y]/n)?がでたら、yを入力してアップデートする。
$ conda update conda

# conda起動。成功すれば、(base)ユーザー名:~ $と出るはず。
$ . activate

# どのPythonを使っているかを確認。以下のようにでればOK。
$ which python
/home/ubuntu/.pyenv/versions/miniconda3-latest/bin/python

# Pythonのバージョン確認
$ python -V
Python 3.9.5

おわりに

 以上でPythonのインストールは完了です。次回からいよいよOANDAのAPIを使っていきます。

コメント

タイトルとURLをコピーしました