5
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[メモ]cygwin環境の構築

Last updated at Posted at 2017-04-06

WindowsにCygwin環境を再構築することにしたのでついでに手順をメモ。

  • Python 3.6
  • Fortran90
  • C/C++

を使って科学技術的な計算をする人向け。

まず、
Cygwin上でmatplotlibは諦めよう
頑張ればできるのかもしれない。しかしその時間を開発にあてれば生産性は何倍にもなるだろう。
すこしのがまんで十分な環境が手に入る。

Anaconda導入

なにも考えることはない。
Python 3.6 Version 64bit-installer(32bitなら32bit)をダウンロードしてインストール。
https://www.continuum.io/Downloads
2019/03/22追記
Anacondaのドメインが変わっているのでこちらへ。
https://www.anaconda.com/distribution/

Cygwin導入

とりあえず公式からsetup-x86_64.exe(32bitの場合はsetup-x86.exe)をダウンロード。そのまま実行して、パッケージ選択まで次へを連打。
initial.png

今回入れるのは

C/C++

  • gcc-core
  • gcc-g++

Fortran

  • gcc-fortran

Python

Anacondaに任せた。

共通

  • make
  • git
  • wget

これらを選んだら次へ。依存関係に必要なパッケージを自動で出してくれるのでそのまま次へ進んでインストール。

apt-cyg導入

本題とはズレるが今後のパッケージ管理のためにapt-cygを導入しておく。
これに関してはこちらを参照させていただきました。
http://qiita.com/hkuno/items/df06db4bb406a17d2494

matplotlib導入

cygwinで苦労するのがmatplotlibの導入。冒頭に書いたとおり、諦める
が、Anaconda側のPythonのパスが通っていれば、CygwinでiPythonを呼ぶとAnacondaのものが呼ばれる。このiPython上でならscipyもmatplotlibも問題なく動作する。なお、この場合はPython環境はAnacondaのものになるのでPythonのパッケージのインストールなどはcondaで行う。
(これならばX windowsも動かさなくていいのでわりと労力はトントンじゃないだろうか。)

2017/10/02 追記
cygwinにAnacondaのパスを通す。cygwinのユーザディレクトリにある.bashrcに以下を追加する。

PATH=/cygdrive/c/Anaconda3:/cygdrive/c/Anaconda3/Scripts:/cygdrive/c/Anaconda3/Library/bin:$PATH
export PATH

.bashrcは一度でもmintty(cygwinでよく使われるターミナル)を起動すれば自動でされている。Windows側でAnacondaのインストール場所を変更している場合は適宜PATHを変更すること。
これでcygwin上でipythonを経由せずにanacondaのpythonを叩ける。

まとめ

MacかLinuxを用意しよう。

5
11
0

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
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?