Hatena::ブログ(Diary)

arupaka-_-arupakaの日記

2014-07-07

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

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/