direnvインストール Miniconda Ubuntu

Conda

direnvインストール Miniconda Ubuntu

久しぶりの記事の更新になりました。
昨年の10月から転職し、プログラマーを始めて、もう半年が過ぎてしまいました。
あっという間ですね。

さて、ブログのネタは大量に溜まってきたのですが、今回は備忘録として、普段からよく使用するPythonの環境周りの記事を書いておきます。

direnvを使用すると、ディレクトリ(プロジェクト)ごとに使用するPythonの環境を分けられるので大変便利です。

プロジェクトによっては、例えばDjangoの古いやつを使っていたり、新しいやつを使っていたりで、Pythonの仮想環境を使って、環境を分けているかと思いますが、今回紹介するdirenvはプロジェクトのディレクトリに移動したら、自動で仮想環境も切り替わってくれるので、いちいちコマンドで切り替える手間がないため、オススメです。

仮想環境には、venvやvirtualenv、pipenvなどを使用している方も多いと思いますが、今回はMinicondaを使用します。こちらは、データ分析やWebと機械学習組み合わせたりする時もとてもオススメです。

 

Minicondaインストール

Minicondaのダウンロード

Miniconda — Conda documentation

上記からMinicondaをダウンロードします。
自分はUbuntuなので、LinuxのPython 3.6を選択しました。
コマンドでダウンロードしても良いです。

$ wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh

Minicondaのインストール

ダウンロードしたMinicondaを以下のコマンドで実行します。

$ bash Miniconda3-latest-Linux-x86_64.sh

 

基本的にAnacondaとインストール方法は同じなので、
詳しくは以下を参照してください。

Pythonインストール Anaconda
Pythonインストール Anaconda過去の記事でPythonインストール yumをご紹介しているかと思いますが今回は、Anacondaを使用したPythonのインストール方法をご紹介します。AnacondaとはPytho...

 

Condaコマンドの基本的な使い方は以下の記事を参照してください。

condaコマンド 使い方 仮想環境
conda 使い方以前の記事で、Pythonを使用する際に便利なdirenvの紹介をしましたが、仮想環境はcondaを使用するため、condaで仮想環境を使用する際によく使うコマンドを備忘録も兼ねて記載します。他にも便利なコマンド等あ...

 

direnvインストール

direnvダウンロード

direnv/direnv
unclutter your .profile. Contribute to direnv/direnv development by creating an account on GitHub.

上記から最新版のdirenv.linux-amd64のリンクをコピーして、例のように使用してください。

$ wget -O direnv [URL]
例) $ wget -O direnv https://github.com/direnv/direnv/releases/download/v2.6.0/direnv.linux-amd64

$ chmod +x direnv

$ sudo mv direnv /usr/local/bin/

~/.bashrcに追加(Bashの場合)

$ echo 'eval "$(direnv hook bash)"' >> ~/.bashrc

.direnvrcに追加

direnv/direnv
unclutter your .profile. Contribute to direnv/direnv development by creating an account on GitHub.

以下設定は、上記に書いてあったので、入れてみたが、別になくても良さそう。
minicondaをPATHに追加してない時は、やるとよさそう。

$ vi ~/.direnvrc
----------------------------
layout_anaconda() {
local ANACONDA_HOME="${HOME}/miniconda3/"
PATH_add "$ANACONDA_HOME"/bin

if [ -n "$1" ]; then
# Explicit environment name from layout command.
local env_name="$1"
source activate ${env_name}
elif (grep -q name: environment.yml); then
# Detect environment name from `environment.yml` file in `.envrc` directory
source activate `grep name: environment.yml | sed -e 's/name: //'`
else
(>&2 echo No environment specified);
exit 1;
fi;
}
----------------------------

 

基本的な使い方

ざっくり使い方を記載しておきます。
例えば、なんかのプロジェクトがあるとします。(~/my_project)

プロジェクトフォルダへ移動

$ cd ~/my_project

仮想環境作成

プロジェクトごとに仮想環境を作成できます。

$ conda create -n my_env python=3.6

.envrcを新規作成する

プロジェクトディレクトリへ移動すると、先ほど作成した仮想環境へ自動で切り替えてくれるようになります。

手順3.3をやった場合

layout anaconda 「仮想環境名」

$ direnv edit .
--------
layout anaconda my_env
--------

手順3.3をやってない場合 

source activate 「仮想環境名」

$ direnv edit .
--------
source activate my_env
--------

direnvを使ってみる

これで、プロジェクトディレクトリに移動すると、自動的にcondaの仮想環境をきりかえてくれるようになりました。

$ cd ~/my_project
direnv: loading ~/.direnvrc
direnv: loading .envrc
direnv: export +CONDA_DEFAULT_ENV +CONDA_EXE +CONDA_PREFIX +CONDA_PROMPT_MODIFIER +CONDA_PYTHON_EXE +CONDA_SHLVL ~PATH

 

補足

direnv: $EDITOR not found.

上記のエラーが表示されたら以下を追加する。

vi ~/.bashrc
------------------
export EDITOR=vi
------------------

既に.envrcがある場合

初回にプロジェクトディレクトリへ.envrcを作成するときは、「.」をつけますが、二回目以降から、編集するときなどは、以下のように「.」をつけないで大丈夫です。

$ direnv edit

 

未経験からPythonを使ってデータサイエンティストを目指したい方へ

データサイエンティストとは?

データサイエンティストとは、莫大なデータをプログラミング技術や統計学、機械学習などを使用してビジネス上などの問題解決を図る職業になります。

データ・サイエンティストとは?
データ・サイエンティストが今これほど求められているのは、なぜでしょうか?ここでは、役割の定義、業務の内容、テクノロジーの世界でホットな存在となった経緯を説明します。

 

Pythonなどのプログラミング言語や統計学、機械学習、ディープラーニングを使用するため非常にスキルが高く、人材も不足しているため大変人気で高収入が望める職業なのです。

新卒でなれる20代で最も年収が高い職種の一つである「データサイエンティスト」って知っていますか? | 就職活動支援サイトunistyle
パーソルキャリアの転職サービス「doda」のデータに基づく「平均年収ランキング2018」によると、データサイエンティストの2018年の20代の平均年収が404万円という発表がありました。20代の職種別でみるとかなりの最高水準の年収になっています。

未経験からでもなれる?

データサイエンティストは、IT人材の中でもとても人口が少なく、今後一番人材が不足する可能性のある職業と言っても過言ではありません。

未経験者からITエンジニアへの転身は、多くのITプログラミングスクールが積極的に力を入れています。

その中でも数少ない未経験からのデータサイエンティストへのキャリアアップを支援してくれるのがデータミックスです。

非常に実績も豊富で、未経験からデータサイエンティストを目指したい方はオススメです。

まずは無料説明会から自分のキャリアや学習の流れを確認することをオススメします。

 

 

オススメの関連商品

コメント