Harukaのnote

Linuxやプログラミング,写真,旅行等の記録帳

Janome を Pyinstaller で exe 化するときのエラー

少し前に起きたエラーで,解決してからだいぶ経ったので,忘れかけていますが,これ以上忘れる前に記載します.

先輩が直面したエラーで,解決策が見つからず困っていました.

エラー内容

exe 化したあとの Janome を使ったプログラムが「No attribute... 'dict_data'」みたいなエラーを吐くと.
エラー内容ももう曖昧で...

解決策

Janome はpipで入れたライブラリ等が含まれる site-packages 下に存在します.
そして,Janome が用いる辞書も Sysdic という名前で同階層に存在しており,Janome が用いるからと言って Janome ディレクトリの下には存在しません.そして,それを Pyinstaller では引っ張って来れず,できた exe ファイルでは dict_data を準備できないということになります.
なので,Sysdic をまるごと Pyinstaller でできた dist ディレクトリ下においてやると動くと思います.

OpenSUSE tumbleweed に fcitx を入れました

卒業論文を書き終わって,少しずつスペインに行く日が近づいて来ました.

なので,今年はクリスマスとか年末の感じを全然感じず過ごしています.

近所のローソンのおにぎりコーナーの近くで,ケーキを陳列してる店員がいたので,変なところに配置するなぁと思ってましたが,それがクリスマス前日でした.

今はやっと論文が終わった開放感で,自分のノートの Linux 環境の再構築をしています.

前はちょくちょく OS の入れ替えをしていましたが,最近してなかったので.

なんで何度も OS 変えるん?とよく聞かれますが,まあ趣味みたいなものですし,その都度バックアップを取ることになるので,バックアップを取る機会でもあります.

部屋の模様替えみたいなものです.

あと,個人的にこの点がおすすめです.
研究中はとりあえず動け!で作った環境を整理し,不要な部分や,今後他のものに影響しそうな設定などを見直して入れ直す機会になります.

本当に必要なソフトのみ残す断捨離のような.Android でもよく初期化をします.

前置きが長くなりましたが久しぶりに OpenSUSE を入れたので,その際に日本語入力で困ったので,メモを残します.

fcitx の インストール

まず,デフォルトで入っている ibus を削除します.

$sudo zypper rm ibus

次に,fcitx のインストールをします.ここでは日本語入力エンジンに Mozc を使いました.
以下のコマンドで依存関係等も勝手に判断し,fcitx 本体も入るはずです.

$sudo zypper install fcitx-mozc

いくつかのサイトではこれで, fcitx 使えますとなってたのですが,term での入力等が行えなかったので,
以下の追加作業を行いました.
ホーム下の .xprofile と .xim ファイルを開き,以下の行を追記します.

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx

で,保存して,再起動します.
ただし,たぶんこの時点で fcitx は自動起動アプリに登録されていないので,自動起動アプリに設定しておかないと手間になります.

【追記】
~/.bashrc に以下も追記しました。

export GTK_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export QT_IM_MODULE=fcitx


たぶんこれで動くと思います.
やり方は Manjaro Linux 等の方法をそのまま流用しました..xprofile に記載はそれです.

ただ,昔の suse の記載等で .xim をどうこうするみたいなのがあったので,今回は両方に記載しました.


Gnome の場合,以下の extensions でトレイに表示できます.
Tray Icons - GNOME Shell Extensions

どっちがあってるのかはわからないので,確かめた人がいたら教えてください.
動けばよかったので.
早速の上述との矛盾ですが笑

Sigma DP2 Merrillを手にいれました!!

浮かれて撮り回っております。

画像が大きいので、リンクでおきます。
自分の腕ではまだまだ活かしきれてはいないと思いますが、やはりこの高解像度は最高ですね。

塗装の表面の反射具合の質感の表現力も素晴らしいと思いますね。

Toyokawa_5

Toyokawa_12

SDIM0499

Sigma DP1(初代)で撮った写真をいくつか②  ここ最近の出来事と

続けて、いくつかを。

夜の公園

タイ人と友達になりました。
研究室に留学プログラムで来ていたので。
一緒に観光。
夜に公園に行く。
なかなか公園内で会えませんでした。
最後は日が変わるまでDennysで。
抹茶パフェを食べました太る。
お城が見たかったらしいです。お城の写真はないのだけれど。
充電はそんなに持たないですよ。
f:id:krulcifer-einfolk-fafnir:20181121011650j:plain
f:id:krulcifer-einfolk-fafnir:20181121011706j:plain
f:id:krulcifer-einfolk-fafnir:20181121011448j:plain

手筒花火

同じ時期に韓国から来ていました人とも友人になりました。何回この公園に来るんだろう。
先輩も来るはずになっていたのだけれど、結果二人で見ることになりました。美人と見るのは緊張します。

まるで城攻め。
こっちにはお城が写ってました。
思っていたより感動しました。印象的でした。
f:id:krulcifer-einfolk-fafnir:20181121011525j:plain
f:id:krulcifer-einfolk-fafnir:20181121011505j:plain
f:id:krulcifer-einfolk-fafnir:20181121011541j:plain
f:id:krulcifer-einfolk-fafnir:20181121011557j:plain

今日バイトに行くまでに

f:id:krulcifer-einfolk-fafnir:20181121011614j:plainf:id:krulcifer-einfolk-fafnir:20181121011633j:plain

Sigma DP1(初代)で撮った写真をいくつか①

結局、Sigma DP2 Merrillを購入してしまいました。
届くまでの間にDP1を触っておこうと思い、写真を撮っています。

プログラミングが全然関係ないですが、DP1はそこそこ古いカメラとなってしまいましたので。
これから購入する同志の人に少しでも後押しできればという思いで、レビューという程のものではないのだけれど。ただ、参考になりうるかもしれないという思いで。
ここにおいてみようと思います。

やっぱり雲の表現が好きです。
2008年のカメラの割には優秀なのではないでしょうか。
ただ、他のカメラを触らないもので比較のしようが無いのです。

浜名湖

Foveonがあまり得意としない夜景を。
f:id:krulcifer-einfolk-fafnir:20181121010447j:plain
f:id:krulcifer-einfolk-fafnir:20181121010452j:plain
得意とする雲と波の質感を。。
f:id:krulcifer-einfolk-fafnir:20181121010527j:plain
f:id:krulcifer-einfolk-fafnir:20181121010444j:plain
f:id:krulcifer-einfolk-fafnir:20181121010458j:plain

アメ横

ちょっと時間があったので寄りました。
f:id:krulcifer-einfolk-fafnir:20181121010552j:plain

SIGMA DP-1で最近撮った写真

最近、DP-1がだいぶお気に入りです。

他に大したカメラを持ってるわけではないのですが、手頃な価格の割に空を、特に雲を自分の思う感じに撮れるので。



今となっては圧倒的高画質ってわけでもないです。

手ブレ補正がなくって若干ぶれてしまうところとかが面倒ですが好きです。



ただそのせいで最近MerrilやQuattroなどの後継機種がほしいな、と思えてきました。

願わくばスペインに旅立つ1月までには購入したい。

それで、スペインの風景を撮りたいな〜、と。。



ただ、素人の私に使いこなせる気もしないので、しばらくはDP-1(初期)で行くと思います。
お金もないし。


最近、二川で撮った写真です。
f:id:krulcifer-einfolk-fafnir:20181016164126j:plain

これは雲の写真。
f:id:krulcifer-einfolk-fafnir:20181016164253j:plain

これは、私からお金を吸い取って、新しいカメラに浮気させてくれないかわいい愛車の写真。
f:id:krulcifer-einfolk-fafnir:20181016164137j:plain

BoWをgensimのLSIで次元圧縮する際のエラー

はじめに

今回は本当にメモ程度に残します。
対策も英語のサイトばかりでしたので。

下記のようなコードで準備したデータをscikit-learnのsvm.SVCでfitすると、データのサイズが違うよ、とエラーが出ました。

# 分かち書きされたテキストのリスト
list_wakati = get_words(df_train)
# BoW用の辞書
dictionary = make_dict(list_wakati)

bow_corpus = get_BoW(dictionary, list_wakati)
n_topics = 300
lsi_model = models.LsiModel(bow_corpus, id2word = dictionary, num_topics = n_topics)
lsi_corpus = lsi_model[bow_corpus]

理由は、LsiModelで圧縮されたデータは、0を省略するらしく、num_topicsで指定した次元に満たないものができるかららしいです。

対策としては、gensim.matutilsのparse2fullで整形してやるといけるみたいです。

shaped_values = []
# LSIで圧縮すると、サイズが n_topics に満たないものがいくつか作られる
# そのため、 sparse2full で整形する
for values in lsi_corpus:
    vec = matutils.sparse2full(values, n_topics)
    shaped_values.append(vec)

「gensim lsi different size」みたいな感じで検索をかけましたが、なかなかでてこず困りました^^;