暗号通貨.py

ビットコインやブロックチェーンの技術に衝撃を受け、プログラミングの勉強を開始。現在はPythonを勉強中。

Programming

Pythonの開発環境を整える①

前回の「Pythonで仮想環境を構築すべき理由」の続きです。

Pythonは2系と3系があるため、仮想環境を構築すべきだという結論に至りました。

どうやらこれはPythonistaにとっては当たり前のことだったようで、すごく勉強になりました。

さて今回は、Homebrew,pyenv,Anacondaのインストールにより仮想環境を構築し、Pythonの開発環境を整えることが目的です。

現状確認

まずは自分のMacがどのようになっているのか現状を確認します。

$ python --version

Python 3.5.1 :: Anaconda 2.5.0 (x86_64)

となっています。

Anacondaは

"Macintosh HD"ディレクトリにアプリケーションやユーザーと同じ位置に入っています。

こんな感じです。

スクリーンショット 2016-05-07 17.20.37

これがそもそも良くなかったんですね。

Anaconda自体は素晴らしいライブラリなのですが、新しいプロジェクトを作る毎にライブラリのバージョン確認して開発環境構築してっていうのは面倒ですよね。

ですからプロジェクト毎に仮想環境を用意して実行するのが通例のようです。

私はまだ仮想環境でプロジェクト自体作ったことないので、間違ってたらすみません。多めにみてください。

ですからデータサイエンティストを目指す人のpython環境構築 2016という記事にもあるように、

MacOSでは homebrew + pyenv + anaconda(or miniconda)

といった環境が良いのかもしれません。

もしくは

homebrew + pyenv + virtualenv

かな?でもcondaで仮想環境に入ることが可能なのでやっぱり前者の方が良さそうです。

前述の記事にもanacondaでvirtualenvを使おうとすると、condaで環境を作るように警告が出ると書かれています。

結局は個人の好みなんですかねー。

もしこの記事を見たPythonプログラマーがいらっしゃれば、ぜひお使いの開発環境を教えてください。

もし、Twitterで教えてくれたりしたらお礼にビットコインを送ります。

HomebrewとAnacondaの相性の悪さ

さて、仮想環境構築のためにHomebrewからインストールしていくのですが、私はインストール済でした。

ターミナル上で

$ brew --version

で確認できます。

そしてHomebrewの動作に問題がないか診断してくれる

$ brew doctor

というコマンドがあります。これでWarningが出るとどこかに異常があるということですね。

後学のために残しておきます。

Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected dylibs:

Warning: Anaconda is known to frequently break Homebrew builds, including Vim and
MacVim, due to bundling many duplicates of system and Homebrew-available
tools.
If you encounter a build failure please temporarily remove Anaconda
from your $PATH and attempt the build again prior to reporting the
failure to us. Thanks!
Warning: python is symlinked to python3
This will confuse build scripts and in general lead to subtle breakage.
Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.
Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:
    //anaconda/bin/curl-config
    //anaconda/bin/freetype-config
    //anaconda/bin/libdynd-config
    //anaconda/bin/libpng-config
    //anaconda/bin/libpng16-config
    //anaconda/bin/python3-config
    //anaconda/bin/python3.5-config
    //anaconda/bin/python3.5m-config
    //anaconda/bin/xml2-config
    //anaconda/bin/xslt-config
    /usr/local/lib/libecomlodr.dylib
Warning: Your Homebrew is outdated.
You haven't updated for at least 24 hours. This is a long time in brewland!
To update Homebrew, run `brew update`.

Warningが5個・・・

同じようなケースでハマっている方がいて助かりました。

Anacondaを入れたらHomebrewの環境が吹っ飛んだ話

どうやらAnacondaはHomebrewと同じ名前のconfigを使用するため、ビルドを壊してしまうようです。

AnacondaとHomebrewは仲が悪いのですね。

だからpyenvを間に挟んであげます。

結局こうですね。

homebrew + pyenv + anaconda(or miniconda)

私はAnacondaを一旦削除し、HomebrewのWarningがなくなったのを確認後、pyenvインストール、Anaconda再インストール。

この手順でいきます。

また長くなりました。続きは次回にします。

Pythonistaへの道は険しい。

がんばっていきまっしょい。

 

参考記事

データサイエンティストを目指す人のpython環境構築 2016

Anacondaを入れたらHomebrewの環境が吹っ飛んだ話

スポンサーリンク

adsense

スポンサーリンク

日本で一番簡単にビットコインが買える取引所 coincheck bitcoin

-Programming