windows8.1 64bit + cygwin + numpy, PIL

cygwin + pythonを入れるところまで:
windows7 (or 8.1) 64bit + cygwin + scikit learn – FULL Tablog 3 の2か3くらいまでを参照。

以下はその続き。上記はちょっと古いので、2017年時点だと色々うまくいかなかった。

1. pipをインストール
Installation — pip 10.0.0.dev0 documentation からダウンロードして適当なところ(例えばpythonのインストールディレクトリ)に置き、コマンドプロンプト (win+x a で起動する方?) にて

> python get-pip.py (--proxy="http://xxx")

2. numpyをインストール
Python Extension Packages for Windows - Christoph Gohlkeからダウンロードしてcygwinにて

python -m pip install numpy-1.13.1+mkl-cp27-cp27m-win_amd64.whl

3. PILをインストール
やはりPython Extension Packages for Windows - Christoph Gohlkeからダウンロードしてcygwinにて

$ python -m pip install Pillow-4.2.1-cp27-cp27m-win_amd64.whl (--proxy="http://xxx")

# ついでに編集距離なんかを測る用:
4. python-Levenshteinをインストール
python-Levenshtein 0.12.0 : Python Package Indexからtar.gzをダウンロードしてcygwinにて

$ tar zxvf python-Levenshtein-0.12.0.tar.gz
$ cd python-Levenshtein-0.12.0/
$ python setup.py install

error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27
とかいうエラーが出る場合には書かれている通りのURLからVCForPython27.msiをダウンロード~ダブルクリックでインストールすればおk。


Pythonでタイプ数カウンターのデータ抽出

タイプ数カウンターっていうのが楽しくて2年前くらいから使っているんだけど、
日々ログが流れていってしまうのが残念なので、カウントデータを抽出してみた。
インストールしたtypectフォルダにある「data」の中身の形式が分からんくて諦めてたんだけど、
どうやらunpackモジュールというのを使えばいいらしかったので、それで地道に。
[1]のサイトをものすごく参考にさせていただいて、それでも不明のキーを一つずつチェックして、さらに
  トータル~今日~今週~昨日~先週
の順に並んでいるっぽいことを突き止めて、とかなり苦労した。
まだ不明のキー?があるけど自分のキーボードではカウントされていないキーなので知りようもなく、
とりあえず暫定版で。

参考
[1] タイプカウンタのあれ - Bulknews::Subtech - subtech
[2] バイナリデータの入力処理 - 強火で進め
[3] アルファベットのリストを作る in python - へたっぴpythonista

"Pythonでタイプ数カウンターのデータ抽出" の続きを読む


cygwin + statsmodels

※このへん (windows7 (or 8.1) 64bit + cygwin + scikit learn) までは入れてある前提で、、

statsmodelsはWindows版を落として入れればおk。
statsmodels 0.6.1 : Python Package Index

patsyは ここ のwhlを落として、コマンドプロンプトにて

> c:\cygwin64\usr\local\Python64-27\python -m pip install patsy-0.4.1-py2.py3-none-any.whl

cannot import name calc_lwork とかエラーが出る場合はscipyをアップデートしてみる
(0.15だとだめで、0.16以上にする必要??)
例によって ここ からダウンロードして、やはりコマンドプロンプトにて

> c:\cygwin64\usr\local\Python64-27\python -m pip install scipy-0.16.1-cp27-none-win_amd64.whl


windows8.1 64bit + cygwin + mecab + python

* 2:mecab-python 自然言語処理@Python-Win8 : 三日坊主のアルバイト
を参考にさせていただいた。

* python + cygwinのインストール回りはこっちで:
windows7 (or 8.1) 64bit + cygwin + scikit learn / FULL Tablog 2
---

1. windows用mecab [mecab-0.996.exe] をインストール
Downloads - mecab - Japanese morphological analyzer - Google Project Hosting
半角スペースのないパスに入れておくと確実かも: C:\programs\MeCab\ とか

2. mecab-python [mecab-python-0.996.tar.gz] をダウンロード~解凍
cygwinから見易い場所とか適当に: C:\cygwin64\home\xxx\tmp\mecab-python-0.996 とか

3. 上記にある [setup.py] を修正
以下の4箇所

#version = cmd1("mecab-config --version"),
version = "0.996"

#include_dirs=cmd2("mecab-config --inc-dir"),
include_dirs=[r"C:\programs\MeCab\sdk"],

#library_dirs=cmd2("mecab-config --libs-only-L"),
library_dirs=[r"C:\programs\MeCab\sdk"],

#libraries=cmd2("mecab-config --libs-only-l"))
libraries=["libmecab"])

4. visual studioを入れる
ここから [Express 2013 with Update 4 for Windows Desktop] をダウンロード・インストール。
これが一番かったるい。。
HDDを6GBも食ってげんなり。インストールにも30分くらいかかりおった。
他のバージョンでいいかは不明。
但し、最初に Visual Studio 2010 Express を試したんだけど、この後6.の2行目、64bit用の処理で使うコマンドが見つからなかったので、2013に入れ直した。

5. [libmecab.dll] と [libmecab.lib] を頂戴する
(この手順はこれしかないのかな。。)
こちらの最下部にある [mecab-python-0.993.win-build.zip ] をダウンロードさせてもらい、中にある上記2ファイルを、
C:\cygwin64\home\xxx\tmp\mecab-python-0.996
に入れる。

これをしないと
build\lib.win-amd64-2.7\_MeCab.pyd : fatal error LNK1120: 11 件の未解決の外部参照
error: command 'C:\\(yyy)\\VC\\BIN\\x86_amd64\\link.exe' failed with exit status 1120

6. コマンドプロンプトにて以下を実行

> SET VS90COMNTOOLS=%VS120COMNTOOLS%
> call C:\(VisualStudio12.0ディレクトリ)\VC\bin\x86_amd64\vcvarsx86_amd64.bat X64
> C:\cygwin64\usr\local\Python64-27\python.exe setup.py build
> C:\cygwin64\usr\local\Python64-27\python.exe setup.py install

- 1行目は error: Unable to find vcvarsall.bat 対策。
VSのバージョンによっては微妙に違うので注意: python - error: Unable to find vcvarsall.bat - Stack Overflow
- 2行目は ValueError: [u'path'] 対策。

7. [libmecab.dll] を (pythonディレクトリ)\Lib\site-packages\ にコピー
これをしないと ImportError: DLL load failed
こちら より


windows7 (or 8.1) 64bit + cygwin + scikit learn

windows7 (or 8.1) 64bit 32bit + cygwin + scikit learn / FULL Tablog 2
の、ちゃんと64bitに対応させた版。
やはり対話モード?に入れないのだけど。。

こちら
馬の脳: Windows 7 64bit でPython環境構築
を参考にさせていただいた。

以降、コマンドプロンプトの起動は「管理者として」が確実?
exeの実行はそうでなくても問題なかった。

■1. cygwin 64bit版を入れる

■2. python2.7 64bitをwindowsインストーラで入れる
インストール先はcygwinで見易い場所、例えば %cygwin_path%(C:\\cygwin64とか)\\usr\\local\\Python64-27\\ とか。
ここに入れることでcygwinからは /usr/local/Python64-27/ でアクセスできる。

※2017.11.1追記
インストール時に権限に関するエラーが発生する場合、cygwin上で
/usr/$ chmod go+w local
しておく。
--- 追記ここまで ---

■3. cygwinコンソールから上記のパーミションを緩める

$ chmod -R go+w /usr/local/Python64-27/

※windows8.1にてpermission deniedが出る場合には、
cygwinを実行するショートカット (Cygwin64 Terminal) を右クリックして
「管理者として実行」で起動することでうまくいった。
これをやっておかないと、多分以降のインストールでエラー出る。たぶん。

※2017.11.1追記1 ---
windows10にて上記でパーミッション変更できない場合、windows側で権限に関する処理が必要。ほんとくそめんどいしんでほしい。

エクスプローラでPython64-27/フォルダを右クリック
~プロパティ~セキュリティタブ~詳細設定
~所有者SYSTEMの右の「変更」クリック
~「選択するオブジェクト名を入力」の欄で自分のアカウント名を入力してOK
 (名前の確認ボタンを押すとアカウント名をもし間違えていた場合にわかる)
(ここで「適用」~「OK」して一旦プロパティウィンドウを閉じて、再度開き直す)
~アクセス許可タブの「追加」(上記開き直しをしないと「追加」が選べない)
~「プリンシパルの選択」~同じく下のオブジェクト名欄に自分のアカウント名を入れてOK
~基本のアクセス許可にて「フルコントロール」を選択、
 下の「これらのアクセス許可を~~」にチェックしてOK
~「子オブジェクトのアクセス許可エントリすべてを~~」にチェックしてOK

これでPython64-27/フォルダ内を読み書きできるようになったはず。
--- 追記1ここまで ---

※2018.7.9追記2 ---
Windows10, python3.7でpipがインストールされない場合:
何回かpython-3.7.0-amd64.exeを実行すると「scripts/」フォルダができるものの、やはりpipが入らない場合、
管理者権限実行のcygwin consoleにて
$ chmod -R go+w python64-37/
$ python3 -m ensurepip
--- 追記2ここまで ---

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
※ここから先は2017年時点ではうまくいかない可能性があります。
※だめな場合はこちらも参考まで:
windows8.1 64bit + cygwin + numpy, PIL – FULL Tablog 3
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

■4. 64bit用のパッケージ群を以下から落とす
Python Extension Packages for Windows - Christoph Gohlke
- scikit learn [scikit-learn-0.15.2.win-amd64-py2.7.exe]
- numpy [numpy-MKL-1.9.1.win-amd64-py2.7.exe]
- scipy [scipy-0.15.0-cp27-none-win_amd64.whl]
(scipyはscikit learnにrequireされてないので、もしかして不要??)

■5. numpyを入れる
上記の [numpy-***.exe] を実行

■6. scipyを入れる (不要??)
先にwheelを入れる。
cygwinコンソールから

$ pip install wheel

その後、scipyインストール。
コマンドプロンプト (管理者; Winキー+x~Aで起動) から

> c:\\cygwin64\\usr\\local\\Python64-27\\python -m pip install scipy-0.15.0-cp27-none-win_amd64.whl

ちなみにcygwinコンソールからやろうとすると

$ pip install scipy-0.15.0-cp27-none-win_amd64.whl
scipy-0.15.0-cp27-none-win_amd64.whl is not a supported wheel on this platform.
Storing debug log for failure in /home/user/.pip/pip.log

でだめ。

■7. scikit learnを入れる
上記の [scikit-learn-***.exe] を実行

■ (8. ついでにpylab)
上記からmatplotlib関連で必要なもの6つを落として
[pyparsing-2.0.3.win-amd64-py2.7.exe] は実行して、
残りはコマンドプロンプトから

> c:\\cygwin64\\usr\\local\\Python64-27\\python -m pip install six-1.9.0-py2.py3-none-any.whl
> c:\\cygwin64\\usr\\local\\Python64-27\\python -m pip install setuptools-11.3.1-py2.py3-none-any.whl
> c:\\cygwin64\\usr\\local\\Python64-27\\python -m pip install pytz-2014.10-py2.py3-none-any.whl
> c:\\cygwin64\\usr\\local\\Python64-27\\python -m pip install python_dateutil-2.4.0-py2.py3-none-any.whl
> c:\\cygwin64\\usr\\local\\Python64-27\\python -m pip install matplotlib-1.4.2-cp27-none-win_amd64.whl

おわり