LoginSignup
5
10

More than 3 years have passed since last update.

Macでpyenv,anaconda,を使ったpython開発環境2018秋

Last updated at Posted at 2018-10-17

はじめに

今回私の構築環境はMacBook Pro 2018です。
python開発環境についてpyenv+anaconda
今回上記二つを扱う上で仮想環境の起動($source activate 環境名)ができなくなることがありました。
それについての解決策を書いていきます。
初心者向けに開発環境構築も書いてあります。

解決策は

まずは覚えておくべき3セット

今回取り上げるHomebrew, pyenv, anacondaのとは何かを覚えておきましょう。
1. Homebrew:「Mac OS Xオペレーティングシステム上でソフトウェアの導入を単純化するパッケージ管理システムのひとつである」
2. pyenv:「様々なバージョンのPythonを管理するツール。導入することで,Python v2系とv3系など,複数のバージョンの切り替えが容易になる。」
3. anaconda:「Python本体に加え,科学計算やデータ分析などに使えるライブラリがセットで入っているパッケージ。」
こちらの3つの概要については(https://qiita.com/aical/items/2d066801a7464a676994)より引用

上記の概要がわかりにくい人は下記の概要で覚えましょう。

Macであらゆるソフトウェアの導入を簡単化するHomebrew
Macでpythonを扱うならこれだよねpyenv
データ解析、機械学習をやるならこれだよなanaconda
こう覚えておくと良いでしょう。

それでは早速HomeBrewとpyenvのインストールしよう!!(*anacondaは次のセクションでします)

以下のリンク先でHomebrewpyenvのインストールをしましょう。
Homebrewとpyenvのインストール

続いてanacondaのインストールをしましょう

以下のリンク先でanacondaをインストールしましょう。
anacondaのインストール

仮想環境の構築

仮想環境とは
Python を使って開発や実験を行うときは、用途に応じて専用の実行環境を作成し、切り替えて使用するのが一般的です。こういった、一時的に作成する実行環境を、「仮想環境」 と言います。

例えば、仮想環境は次のような目的で使われます

仮想環境には特定のバージョンのPython本体と、各種モジュールがインストールされます。あるプロジェクトで使用する仮想環境では Python 3.6 と Django 1.11をインストールし、別のプロジェクトの仮想環境には Python 2.7 と Django 1.10 を利用する、といった環境を簡単に構築でき、わけて扱えるようにできます。

以下のリンク先で仮想環境の構築をしましょう。
仮想環境の構築

pyenv上での仮想環境起動エラー

今回の肝はここです。私もpyenv上anacondaで仮想環境を起動した際に、

ターミナル
pyenv: activate: command not found

というエラーが出ました。
詳しいことは以下の記事参考
仮想環境の構築エラー解決策
フルパスなら仮想環境の起動は行えるのです。なので

aliasコマンドでフルパスを省略させれば一件落着ということです。
aliasコマンドとはコマンドを別名で登録することができるコマンドです
$ alias 登録名=登録するコマンド

1.まずは仮想環境の起動のフルパスを省略

ターミナル
echo 'alias フルパスの省略名="source $PYENV_ROOT/versions/anaconda3-2.5.0/bin/activate"' >> ~/.bash_profile

2.仮想環境を落とすフルパスの省略

ターミナル
echo 'alias フルパスの省略名="source $PYENV_ROOT/versions/anaconda3-5.2.0/bin/deactivate"' >> ~/.bash_profile
$ source ~/.bash_profile

これで解決できました!!!:relaxed:

実行すると、

ターミナル
$ activate 環境名
環境名 $ 

お疲れ様でした。

最後に

引用ばかりですみません。一人でもこのエラーを解決できることを願っています。

5
10
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
10