2015年1月2日金曜日

OSX yosemiteのPython環境構築

新しいyosemite環境も手に入れたことで
今年ことはデータサイエンス!
ということでPacktPublishingのこんなeBookを買ったのだが
序章でまず「RとPythonをインストールしましょう」

ハマりました。

既に先達で悩まれていた方はいたようなのだが、

http://blog.freotree.com/develop/problem-when-build-python2-7-to-mac/
2014-06-06 Mac OS に Python を MacPorts でインストールする。
MacでPython環境を作る時に気をつける事

最終的に倣ったのは最後の3番目の方の手順。

とりあえずbrewインストールはyosemiteになってからうまくいかない 先日の件(10.10の条件式の件)が解消できないので、
MacPortsでやる方法を選んだ。

1. (Xcodeは既に入っている前提で)appleのdevelopersサイト からCommand Line Tools (OS X 10.10) for Xcode 6.1.1 をDL、インストール
2. python27のインストール
sudo port install python27 sudo port select --set python python27 port select --list python  3. setuptoolのインストール
sudo port install py27-setuptools
4. pipのインストール
sudo port install py27-pip
sudo port select --set pip pip27
5. virtualenvの設定
 sudo port install py27-virtualenv py27-virtualenvwrapper
sudo port select --set virtualenv virtualenv27
おわると.bashrcに追加されている。

export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
# virtualenvexport WORKON_HOME=$HOME/.virtualenvssource /opt/local/bin/virtualenvwrapper.sh-2.7


2.はncursesというのでひっかかることが多いという話だったのですが、
例に漏れず、はまりました。

sudo port -f install ncurses
sudo port uninstall ncurses

を繰り返したり、エラー吐いたところででてきた

/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_ncurses/ncurses/main.log
を見てみたり。

基本中の基本かもしれませんが
途中で、何かがうまくいかないときは引っかかっているところでは
ログのほかにも
次はこれを試してみなさい、
と出ているのですが、うまくいかなかった分については

python clean XXX

も途中でやってからもう一度port installしないといけなかったよう。
たとえばよくわからない動作を繰り返すうちに

Error: org.macports.fetch for port gtk3 returned: fetch failed Error: Failed to install gtk3Please see the log file for port gtk3 for details:    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnome_gtk3/gtk3/main.log Error: The following dependencies were not installed: gstreamer010-gst-plugins-base gnome-vfs gconf gtk3 orbit2 libidl policykit mozjs17 nspr xorg-libXt libogg libtheora libvorbis orc coreutils xorg-libXv lcms2 mesa xorg-libXmu xorg-libXxf86vmError: Unable to upgrade port: 1

なんて出てくるのでできなかった分全部インストールしたれと思うと

$ sudo port install gstreamer010-gst-plugins-base gnome-vfs gconf gtk3 orbit2 libidl policykit mozjs17 nspr xorg-libXt libogg libtheora libvorbis orc coreutils xorg-libXv lcms2 mesa xorg-libXmu xorg-libXxf86vm--->  Computing dependencies for gstreamer010-gst-plugins-base
--->  Cleaning gstreamer010-gst-plugins-base--->  Computing dependencies for gnome-vfs--->  Cleaning gnome-vfs--->  Computing dependencies for gconf--->  Cleaning gconfError: Requested variants "+x11" do not match original selection "+universal+x11".Please use the same variants again, perform 'port clean gtk3' or specify the force option (-f).To report a bug, follow the instructions in the guide:    http://guide.macports.org/#project.ticketsError: Processing of port gtk3 failed

:
:

なのでclean

$ sudo port clean gtk3--->  Cleaning gtk3

もう1回やってみる

$ sudo port -f install gtk3--->  Computing dependencies for gtk3--->  Cleaning gtk3--->  Updating database of binaries--->  Scanning binaries for linking errors               --->  No broken files found.

と、うまくいく


$ sudo port install gstreamer010-gst-plugins-base gnome-vfs gconf gtk3 orbit2 libidl policykit mozjs17 nspr xorg-libXt libogg libtheora libvorbis orc coreutils xorg-libXv lcms2 mesa xorg-libXmu xorg-libXxf86vm

のような。

あとインストール作業なので基本的にsudo権限。

numpy関連は下記で一発。

$ sudo port install py27-numpy py27-scipy py27-matplotlib py27-ipython +notebook py27-pandas py27-sympy py27-nose

- by Mizuk