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

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

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

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


Windows 8.1 64bitでのkb2919355アップデート失敗対策

色々調べてもだめだったけど、結局このサイトの通りにやったらいけた:
Windows 8.1 Update 1 Failing to Install with errors 80070020, 80073712 - Microsoft Community
長かった、、インストールまで2年くらいかかってしまった。

以下、コマンド入力は win+x a のコマンドプロンプト (管理者権限) でやると確実。のはず。
ついでにインストール中は念のため、7+ taskbar tweakerとclassic start menuはexitしておいた。

1. Download offline installers (desktopにでも置いておく)
http://www.microsoft.com/en-us/download/details.aspx?id=42335

2. Fix Windows Update: (指示通りに実行する)
http://support.microsoft.com/kb/971058/

3. Scan Windows system components:

sfc /scannow

4. Remove KB2919355 package:

dism /online /remove-package /packagename:Package_for_KB2919355~31bf3856ad364e35~amd64~~6.3.1.14

5. Clean up the WinSxS folder:

dism /online /cleanup-image /startcomponentcleanup /resetbase

6. Clean up disk with system files remove:

cleanmgr.exe

7. Restart computer

8. Run offline installer: (デスクトップのやつをダブルクリック)
(double click) Windows8.1-KB2919355-x64.msu

終わったらしばらくはwindows updateでkb2919355を入れるように促されるけど、
無視しておくと勝手に消えて、代わりに100個以上のアップデートを入れるように出るので
それを入れればよさげ。(上記処理中に削除されてる?? or kb2919355が入ったことで
入るようになったアップデートかな。)
"Windows 8.1 64bitでのkb2919355アップデート失敗対策" の続きを読む


64bit Firefoxでflash上で日本語が打てない

っていう問題は
・Windowsの環境変数で「MOZ_ALLOW_WEAKER_SANDBOX」を作り、0または1に設定する
・FirefoxってかCyberfoxのabout:configで「dom.ipc.plugins.sandbox-level.flash」の値を0または1にする
で解決する模様。
自分の場合 (windows 10 + cyberfox) は両方とも0に設定することで、ようやくニコニコ上で日本語が打てるようになった。
(両方1にすることでうまくいく場合のほうが多いのかも。)

以下が参考:

673 名前: no name :2015/09/24(木) 14:25:02 ID:+c3uuWsP
FireFox系ブラウザでIMEが機能しない件はCyberFoxスレに解決策があった

Cyberfox Part2 [転載禁止](c)2ch.net
http://anago.2ch.net/test/read.cgi/software/1422178611/931

>というわけで、私の場合の解決方法まとめ(以下の両方を設定する)
>・環境変数MOZ_ALLOW_WEAKER_SANDBOXをつくる
>・dom.ipc.plugins.sandbox-level.flashの値を0または1にする

詳しくは当該スレとレス内のリンクへ
環境変数ってなに?って人はぐぐってみて

680 名前: no name :2015/11/02(月) 10:13:38 ID:GQxhBiJR
備忘録として
Ffのabout:configで
dom.ipc.plugins.sandbox-level.flash
値:1に変更

コントロールパネル→システム→システム詳細設定
環境変数→システム環境変数→新規
変数名:MOZ_ALLOW_WEAKER_SANDBOX
値:1

# 日本語入力できない - niconicoの不具合報告掲示板


wekaの決定木の色を変える on Windows

weka_decision_tree.png
デフォルトのノード色は見づらすぎると思う。
手順は

1. 設定ファイルを取り出す
wekaインストールディレクトリのweka.jar (=zipファイル) の中にある
weka/gui/treevisualizer/TreeVisualizer.props
をwekaインストールディレクトリにコピーする。
# propsファイルの取り出し方: weka - Properties File

2. 設定ファイルを編集する
↑のようにノードとエッジの色を変えるなら、上記propsファイルを以下のように。(他の項目はそのまま残して)

#NodeColor=gray
NodeColor=211,232,255

#LineColor=black
LineColor=91,113,255

# その他の項目: weka - weka_gui_treevisualizer_TreeVisualizes.props
# 色指定の方法: weka - weka_gui_visualize_Visualize.props

とても簡単だった。


adobe readerのナビゲーションパネルボタンを出なくする

やっとできた!
レジストリエディタにて以下のようにすればOK.

*Adobe Acrobat Reader 11の場合:

HKEY_CLASSES_ROOT\AcroExch.Document.11\shell\Read\command
キー: 「(既定)」を
"C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe" /A "navpanes=0" "%1"

*Adobe Acrobat Reader DCの場合:

HKEY_CLASSES_ROOT\AcroExch.Document.DC\shell\Read\command
キー: 「(既定)」を
"C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" /A "navpanes=0" "%1"

※下線部が追加部分。

[参考]
* Reader XI - How do I hide the Navigation Pane b... | Adobe Community
下の古い情報に書いた参考ページの、すぐ下の検索結果にあった。。すごい簡単だった。

※もしかして、readerのアップデート時にこのレジストリ値勝手に戻っちゃう・・?
 → 実際その模様。ほんと鬱陶しい。adobeはいちいちユーザが嫌がることを徹底してくれるね。
"adobe readerのナビゲーションパネルボタンを出なくする" の続きを読む


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

おわり


cygwin + tree-tagger + python

基本的にこちらを参考にさせていただいた。
TreeTaggerを使った英語の形態素解析 - よしなしごと

1. cygwinの場合は Windows version を落として
2. 適当なディレクトリに解凍して
  C:\\cygwin64\\home\\<username>\\local\\tree-tagger-3.2 とか
3. Parameter fileとして落とした english-utf8.par を lib/ に入れて
4. chunk-english.bat, tag-english.bat の set TAGDIR 部分を2.に合わせて
  C:\\cygwin64\\home\\<username>\\local\\tree-tagger-3.2 とか
5. treetaggerwrapper.py を落としてpythonインストール先の Lib/ に入れて
6. このときに l.381 を
  "tagparfile": "english.par", から
  "tagparfile": "english-utf8.par", に書き換えればおk

##
解析時に warning 出る場合は .decode() してみたり
さらに無理矢理なら .encode("cp932", "replace").decode("utf8", "replace") して変なのを消してみたり


poderosaでcygwinをタブ化、的な

poderosaにあるcygwinボタンをポチッとしてもエラーが出て起動しない。
っていう場合は、cygtermをコンパイルして置換すればいいらしい。

まんまこちらのお世話になった。
Poderosa から Cygwin に接続すると「アプリケーションを正しく起動できませんでした」と怒られる - ablog

コンパイルしようとすると
gcc: error: spawn: No such file or directory
なんてエラーが出て、これに対処するには devel を全部入れればいいらしけど、何となく減らしたくて調べてみたら、 gcc-mingw-g++ を入れればいいらしい。
On cygwin "make" fails with "gcc: error: spawn: No such file or directory" · Issue #70 · kpdyer/fteproxy · GitHub
そのものずばりのは見つけられなかったんだけど、似たような字面のやつを一通り試してみたら確かにちゃんとコンパイルできた。


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

2015.1.14追記
pythonをちゃんと64bitで動かせるようにするにはこっち。
windows7 (or 8.1) 64bit + cygwin + scikit learn / FULL Tablog 2


--- !!以下はpythonが32bitでよい場合!! ---
32bitプロセスはメモリが2GBまでしか使えない?ので色々不便だった。

とりあえず動かすだけ、なので正しいかは不明。
この入れ方だと対話モード?に入れないのが困るんだけど。

■1. cygwin 64bit版を入れる

■2. python2.7 32bitをwindowsインストーラで入れる
インストール先はcygwinで見易い場所、例えば %cygwin_path%(C:\\cygwin64とか)\\usr\\local\\Python27\\ とか。
ここに入れることでcygwinからは /usr/local/Python27/ でアクセスできる。
32bitなのは、numpyとかが32bitなのでそっちの方が無難だろう、という記述をどこかで見かけたからw

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

$ chmod -R go+w /usr/local/Python27/

※windows8.1にてpermission deniedが出る場合には、
cygwinを実行するショートカット (Cygwin64 Terminal) を右クリックして
「管理者として実行」で起動することでうまくいった。

■4. numpy, scipyをwindowsインストーラから入れる
上記3.をやっていればエラーが出ないはず

■5. pipを入れる
https://pip.pypa.io/en/latest/installing.html から
get-pip.pyを落としてきて、コマンドプロンプトから

> python get-pip.py

※windows8.1にて、
Exception:
Traceback (most recent call last):
File "c:\\users\\(xxx)\\appdata\\local\\temp\\(tmp)\\pip.zip\\pip\\basecommand.py", line 122, in main
status = self.run(options, args)
云々なエラーの場合には、先に

> python -m pip install -U setuptools

するとうまくいった。

■6. pipでscikit learnを入れる
コマンドプロンプトから

> python -m pip install -U scikit-learn

おわり