LoginSignup
7
5

More than 5 years have passed since last update.

cygwinからanacondaのpythonコマンドをたたく

Posted at

windowsでanaconda入れると、CUIはAnaconda Prompt(実質コマンドプロンプト)になるじゃないですか。
そんなの嫌だ!Linuxのコマンド使いたい、cygwin使いたい!って人向け(主に自分)の需要の少なそうな覚書です。

1. anacondaにパスを通す

cygwinの.bash_profileを編集する。
こういう感じ

.bash_profile
ANA_PATH=/cygdrive/c/Anaconda3
export PATH=\$ANA_PATH:\$ANA_PATH/Library/bin:\$ANA_PATH/Scripts:$PATH

これで

$ which python
/cygdrive/e/OSS/Anaconda3/python

anacondaのpythonにパスが通った。

が、これでpythonを叩くと応答が返ってこない…

$ python

cygwinのterminalであるminttyっていうexeがネイティブのpython以外のpythonをたたくと固まるという既知のバグなんだそうです。

2. winpty入れる

なので、mintty.exeの代わりにwinpty.exeというものを入れて、cygwinのterminalをラップしてやる必要がある。
https://github.com/rprichard/winpty
からgit clone。
解凍先にcd してcygwinでmakeする。

$ git clone https://github.com/rprichard/winpty.git
$ cd winpty
$ ./configure
$ make

正常に完了すれば、winpty/buildにconsole.exe、winpty.dll、winpty-agent.exeができる

※ 予めcygwinでgit, make, gcc-g++, mingw64-x86_64-gcc-g++ などなどをインストールしておく

3 pythonコマンドをラップ

~/.bashrcを編集
winptyのインストール先が$GITだとすると

.bashrc
alias 'python'='$GIT/winpty/build/winpty.exe python'
alias 'ipython'='$GIT/winpty/build/winpty.exe ipython'

これで!anacondaのpythonをcygwinから叩けるようになりました。

$ python
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 10:22:32) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

※参考:http://suzukiyou.hatenablog.com/entry/20151209/1449622689

7
5
1

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
7
5