nltkのcygwinへの導入

以下はnumpyがインストール済みの場合のnltkのインストール方法です。
numpyをインストールしていない場合は,別にnumpyのインストールが必要の可能性があります。



(0)ソースのダウンロード

nltk
http://www.nltk.org/install.html

wget http://www.nltk.org/nltk3-alpha/nltk-3.0a4.tar.gz

  • インストール用ツール

基本は(https://pypi.python.org/pypi/setuptools 参照)

wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | python

参考)ややこしいサーバーからWgetする(証明書無視やBasic認証、ユーザーエージェント)
http://takuya-1st.hatenablog.jp/entry/20090714/1247554559
発行権限がどうとかといわれた場合。

以下のエラーメッセージがでるので(おそらく--insecure オプションが入ってない)、

Downloading https://pypi.python.org/packages/source/s/setuptools/setuptools-5.4.1.zip
Traceback (most recent call last):
File "ez_setup.py", line 332, in
sys.exit(main())
File "ez_setup.py", line 327, in main
downloader_factory=options.downloader_factory,
File "ez_setup.py", line 287, in download_setuptools
downloader(url, saveto)
File "ez_setup.py", line 209, in download_file_curl
_clean_check(cmd, target)
File "ez_setup.py", line 169, in _clean_check
subprocess.check_call(cmd)
File "/usr/lib/python2.6/subprocess.py", line 488, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['curl', 'https://pypi.python.org/packages/source/s/setuptools/setuptools-5.4.1.zip', '--silent', '--output', '/home/xxxx/setuptools-5.4.1.zip']' returned non-zero exit status 60

とりあえず、setuptool-5.4.1.zipをマニュアルで直接ダウンロードしてしまう。

curl --insecure https://pypi.python.org/packages/source/s/setuptools/setuptools-5.4.1.zip --silent --output setuptools-5.4.1.zip

で、ez_setup.pyを実行:

python ez_setup.py

そうすると、たくさんメッセージがでたあと、以下のメッセージでインストール終了の知らせ。

Installing easy_install script to /usr/bin
Installing easy_install-2.6 script to /usr/bin

Installed /usr/lib/python2.6/site-packages/setuptools-5.4.1-py2.6.egg
Processing dependencies for setuptools==5.4.1
Finished processing dependencies for setuptools==5.4.1

nltkをインストール

cd nltk*
python setup.py install

みたいなメッセージでインストール終了のしらせ。

Adding nltk 3.0a4 to easy-install.pth file

Installed /usr/lib/python2.6/site-packages/nltk-3.0a4-py2.6.egg
Processing dependencies for nltk==3.0a4
Finished processing dependencies for nltk==3.0a4

チェック

$ python
Python 2.6.8 (unknown, Jun 9 2012, 11:30:32)
[GCC 4.5.3] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import nltk
>>> nltk.download()
NLTK Downloader

                                                                                                                                                    • -

d) Download l) List u) Update c) Config h) Help q) Quit

                                                                                                                                                    • -

Downloader>


グラフを書くためにはmalplotを使う必要あるので、ダウンロード

wget http://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.3.0/matplotlib-1.3.0.tar.gz

解凍

gzip -d matplotlib-1.3.0.tar.gz

tar -xvf matplotlib-1.3.0.tar

参考:

http://stackoverflow.com/questions/5151755/how-to-install-matplotlib-on-cygwin

cd matplot*

python setup.py build

とすると、

lib/matplotlib/tri/_tri.h:821:33: error: expected unqualified-id before numeric constant
const unsigned long _M, _A, _C;

みたいなエラーがでてとまるので、

http://stackoverflow.com/questions/21284912/installing-matplotlib-error-setup-script-exited-with-error-command-gcc-fail

を参考に,コンパイラが_Cが嫌いみたいなので,
_Cを_COにソースをリネームする。

具体的には,/lib/matplotlib/tri/_tri.h

改正前

private:
const unsigned long _M, _A, _C;
unsigned long _seed;

改正後

private:
    const unsigned long _M, _A, _CO;
    unsigned long _seed;


lib/matplotlib/tri/_tri.cpp

RandomNumberGenerator::RandomNumberGenerator(unsigned long seed)
: _M(21870), _A(1291), _C(4621), _seed(seed % _M)
{}

unsigned long
 RandomNumberGenerator::operator()(unsigned long max_value)
 {
_seed = (_seed*_A + _C) % _M;
return (_seed*max_value) / _M;
  }

改正後

RandomNumberGenerator::RandomNumberGenerator(unsigned long seed)
: _M(21870), _A(1291), _CO(4621), _seed(seed % _M)
{}

unsigned long
 RandomNumberGenerator::operator()(unsigned long max_value)
 {
_seed = (_seed*_A + _CO) % _M;
return (_seed*max_value) / _M;
  }

python setup.py install

File "/tmp/easy_install-VS24MR/pyparsing-2.0.2/setup.py", line 2

^
SyntaxError: invalid syntax

とりあえず、pyparsingを

wget http://sourceforge.net/projects/pyparsing/files/pyparsing/pyparsing-2.0.2/pyparsing-2.0.2.tar.gz

gzip -d pypar*

tar -xvf pypar*

cd pypar*

python setup.py install

cd ~/matplotlib*

python setup.py install

http://www.nslabs.jp/gtk2-windows.rhtml

http://chiranoura.nobody.jp/articles/2014-03-20_01_how_to_install_matplotlib_on_cygwin/

rebaseall
http://rcmdnk.github.io/blog/2013/07/05/computer-windows-cygwin-git/
http://www.mk-mode.com/octopress/2012/06/12/12002009/

rebase
http://rcmdnk.github.io/blog/2013/07/05/computer-windows-cygwin-git/