cygwin win64bit版を入れたり、bash+mintty+console環境を設定したりする
cygwin 64bitの導入
Cygwin(64bit)とgitのインストール - Qiita
Cygwinのインストールとapt-cygのインストール - Qiita
このあたりに従って入れる。
環境変数の設定は.bash_profileを触ってもできるそうですけど、今回はwindowsシステムの方に書きました。
参考これ。
Cygwinインストール後のWindows環境変数設定 - Qiita
windows版pythonが入っている場合はcygwin版pythonと干渉するのでpathの書き方に注意で、以下のようにする。
Windows版とcygwin版の共存でハマる - nelnal@python - pythonグループ
ポイントとしては2点で、
pathのpython(win版)の位置をc:\cygwin/bin~~より前に書くこと。
pythonpathを設定すること
でした。
bash+mintty+ipythonの対話モードをできるようにする。
ここまでで以下の状態になる。
bash+minttyは動く。mintty上でipythonは動かない。cmd.exe上ではipythonが従来通り動く。
原因はminttyのパイプ処理がどうのこうのというあたりらしい。
MinGW の mintty で対話モード、ついでに vim 設定 | ユニマージュ
結論だけ書けば、winpty(のconsole.exe)でwindowsアプリをラップすれば良い。
winptyの導入はビルドが必要。
rprichard/winpty · GitHub
ここのzipをダウンロードしてきて、cd /hogehoge/winpty-masterして、./configureしてmakeすればよい。
なんかgccが見つからんとかなんとか言われた気がするがあんまり覚えてない。
.bashrcに
alias gcc='x86_64-w64-mingw32-gcc.exe' alias g++='x86_64-w64-mingw32-g++.exe'
みたいなことを書いた。
最終的にwinpty-master/buildにconsole.exe、winpty.dll、winpty-agent.exeができるので、この三つを適当なところにおいて(今回は~/buildにまとめて入れた)
alias 'python'='~/build/console.exe python' alias 'ipython'='~/build/console.exe ipython'
とする。これでipythonがmintty上で動く。