【Python3】【Windows10】状態遷移パッケージtransitionsをAnaconda, pygrapgvizなしで使用する方法
はじめに
pythonの状態遷移管理パッケージtransitionsは、簡単に状態遷移を記述できる非常に便利なパッケージです。以下のページで日本語で非常に詳しくまとめてくださっています。(ありがたい)
qiita.com
基本的に、ここに書いてある通りに試していけばいいのですが、ライブラリのインストールで壁にぶち当たったので書いておきます。
環境
Windows10
Python3.7.4
Anacondaは非導入
【追記】transitions 0.7.1
発生した問題
Pygraphvizが入らねえ
Anaconda入れたくねえ
発生した経緯
今回の問題の原因は、状態遷移を表示する画像パッケージのインストールで問題が発生しているようです。transitionの開設サイトに書いてある通り(conda無しver)に進めると
pip install git+https://github.com/pytransitions/transitions.git@dev-graphviz
このコマンド試すとエラーが...
gitから直接ダウンロードしてsetup.pyしてもダメでした
結局原因がわからず、pygraphvizをどうにか入れる方法を探したのですが...
「Anacondaを使わずに」pygraphvizを導入する方法の一つで、以下も試しましたが、うまくできず...(雑魚)
hytmachineworks.hatenablog.com
解決方法
transitions解説サイトをよく読むと次のような記述が...
※ちなみに次期Versionの0.70ではPyGraphvizは使用しない方向になっているので、Version0.69までの対応となる見込みです。(「Windowsの場合」参照のこと)
な~~~んだ、じゃあpygraphvizを使わないtransitionsのコードを書けばええのか~~
というオチでした
ちゃんと読めよ
てことで、pygraphvizを使わないでtransitionsを使う方法をご紹介します
pygraphvizを使用せずにtransitionsを使う
日本語でこの解説してるページがなかったので書いておきますv
transitionsのソースが載ってるgithubと先述の日本語解説サイトを参考にしています
github.com
インストール
まずは最新版のtransitionsとgraphvizをインストールしてください
graphvizは公式サイトから、Stable 2.38 Windows install packagesをインストールしてからpipしましょう。その後、パスも/binまで通して再起動
https://graphviz.gitlab.io/download/
pip install transitions pip install graphviz
dotが通っているか確認、バージョンが出てきたら成功です
dot -V
出力例
dot - graphviz version 2.38.0 (20140413.2041)
transitionsで状態遷移図の出力
例の開設サイトに載っているwindows向けのコードですが、実行すると
"Exception: AGraph diagram requires pygraphviz"というエラーが発生します
pygraphvizを要求してくるわけですね
import graphviz from IPython.display import Image, display from transitions.extensions import GraphMachine states = ['A', 'B', 'C'] #状態の定義 class Matter(object): def __init__(self, filename=None): self.output = filename def action_output_graph(self, *args, **kwargs): dg = model.get_graph(*args, **kwargs).generate() if isinstance(self.output, str): graphviz.Source(dg, filename=self.output, format='png').render(cleanup=True) else: display(Image(dg.pipe(format='png'))) model = Matter('test') #ファイル出力する場合は、Matter('test')にする。 machine = GraphMachine(model=model, states=states, initial='A', auto_transitions=False, ordered_transitions=True, title='', show_auto_transitions=False, show_conditions=False, finalize_event='action_output_graph') model.action_output_graph() #初回のみ手動実施
こちらを次のように書き換えるとうまく実行され、同じフォルダに状態遷移の画像が出力されます
変更後のコード
import graphviz from IPython.display import Image, display from transitions.extensions import GraphMachine states = ['A', 'B', 'C'] #状態の定義 class Matter(object): def __init__(self, filename=None): self.output = filename def action_output_graph(self, *args, **kwargs): dg = model.get_graph(*args, **kwargs).generate() if isinstance(self.output, str): graphviz.Source(dg, filename=self.output, format='png').render(cleanup=True) else: display(Image(dg.pipe(format='png'))) model = Matter() machine = GraphMachine(model=model, states=states, initial='A', auto_transitions=False, ordered_transitions=True, title='', show_auto_transitions=False, show_conditions=False, finalize_event='action_output_graph', use_pygraphviz=False) # use_pygraphviz=Falseを追加 model.get_graph().draw('test.png', prog='dot') #画像出力 ファイル名をここで指定
変更点としては2つです
- GraphMachineの定義に"use_pygraphviz=False"を追加(19行目)
- 画像出力の関数を変更(最終行)
pygraphvizを使わないことを明示して、dotで出力しろ!
って書いてあげてるわけですね
出力された画像
解説サイトと同じ画像が出て、うまく動いてそうですね!!!
という感じでpygraphvizやcondaを使わずにtransitionsが使えそうです~やったね~
winでpygraphviz入れるのはあきらめそう!
余談ですが、anaconda入れたくなかったのは最近はpipでだいたいどうにかなるので新しいの入れると環境がぐちゃぐちゃになりそうなのを懸念してました。
ばいちゃ
知識ゼロからのダイハツ タント カーオーディオ取り付け③車搭載編
はじめに
前回は赤タップをギボシ加工してダイハツ車用カプラーに接続しました
今回はいよいよ車に搭載して使えるようします
過去記事はこちらからどうぞ
この記事の要約
タントのカーオーディオを入れ替えた
ネットの知識でカーオーディオ付け替え&ギボシ加工は可能
オーディオ取り替え
やっていきましょう。こいつを取り外していきます
このやり方もネットでググりながらやってます、インターネット最高!
①車のバッテリーのプラス(+)を外す
安全のためにバッテリーのプラス(手前側)を外します
ここで10mmレンチが必要になりますね
(外車は規格が違うようです)
②エアコンパネルの取り外し
カーオーディオを外す前にエアコンパネルから取り外す必要があります
右上から内張剥がしやHARD OFFピックで隙間をぐいぐいして外しましょう
出てきたネジ(赤丸部)も外してしまいましょう(ネジは使うので回収してください)
③オーディオ取り外し
ネジを外したらエアコンパネルと同様に、ツメを剥がして外します
取り出せたらカプラーを外しましょう(ボケ)
裏側はこうなっています、ツメを握って、手前に引っこ抜く!
結構硬くて指先が死にました
④新オーディオ取り付け
ダイハツ車用カプラーを接続!写真これしかなかった...
カプラーとオーディオ電源を繋いでからさした方が絶対楽
あとアースも撮りましょう、固定具のネジに挟む感じで噛ませればいいと思います
(正しいのかこれ?)
一応ハマった!固定する前に接続確認をしましょう
バッテリーのプラス端子を戻し忘れないように
接続確認👍
⑤オーディオを固定具で固定
接続確認できたら、取り付けキットの固定具とネジで固定しましょう
ネジが足りなかったから半分くらいしかつけてない...でも固定できます
(画像無)(撮り忘れ)
⑥オーディオパネル取り付け
取り外しと同様にツメに合わせて取り付けていこう
こんな感じにオーディオがはまる
DVDも再生できます!車内でいっぱい映画観れるぞ〜
おまけ
ついでにドラレコも自分で取り付けました
配線は前の方のこういう奴を外して中にねじ込みました
ここですね
バックカメラの配線はドアのゴムんとこにねじ込みましょう
終わりに
これで全行程完了!ギボシ加工さえなければこんなに苦労しなかった笑
この記事を通して言いたかったのは
ネットの知識でカーオーディオ の取り替え&ギボシ加工は可能
なんで苦学生の君は、お店に頼む前に自分でやってみよう!
次はUSBポートでも取り付けるか〜とか考えてます
ご精読ありがとうございました。
知識ゼロからのダイハツ タント カーオーディオ取り付け②赤タップ→ギボシ加工編
はじめに
この記事の続きです、読んでない方はこちらからどうぞ
次の記事はこちら
記事の要約
カーオーディオのギボシ加工を自分で行ったのでその記録
ギボシ加工は簡単で誰でもできる!
中古のカーオーディオはカプラーとハーネスの形状に注意しよう!
以下に続きます
オーディオ取り付け!のはずが...
さて家に届いたカロッツェリアを早速取り付けようとしたら...
カプラーが赤タップ加工になっていました!
言い換えると、そのままではダイハツ車に配線できない仕様でした
配線には赤タップを外してギボシ加工する必要があります
取り外した配線がこちら
左:元々ついてたホンダ車用カプラー 右:カーオーディオ側のカプラー
これが問題の赤タップ(奥のやつは開いてます)
ギボシ端子はこんなやつです。これに接続する為に赤タップ加工が必須な訳です
解決手法
ここでいくつか検討した案とボツ理由をご紹介します
カーオーディオ用の電源ケーブルの替えがあるならそっち買うほうが手っ取り早いと思いますね...
(パイオニア用の電源ケーブルはイエローハットとかで売っていますが、古い機種は爪の形が違うので注意!)
古い機種の電源ケーブルはこんな形してます、
↓これが使えれば楽だったのになー...形が違うことがあるので買う前に確認しましょう
ちなみに、お店でギボシ加工だけでの請負はしてないとのこと...
と言うわけで、前回紹介した電工ペンチを使って自分でギボシ加工することに!
余談
逆に、タント側のカプラーを赤タップ用に加工すれば?という発想もありましたが
どうやら赤タップよりカプラーの方が電流(?)が安定するらしい[車屋店員談]ので、そちらは試しませんでした
ギボシ加工
この記事が大変わかりやすいです。自分もここを見ながら加工しました
さあさあやっていきましょう!
右側2つがダイハツ用カプラーです
手順
①赤タップの取り外し
HARD OFFピックの先っちょを赤タップの穴にねじ込んで、グイッと開けます
赤タップを HARD OFFでCAST OFF しましょう (ドッ
開けるとこんな感じです
中の導線を慎重に力を入れて引っ張って外しましょう(結構硬い)
②ゴムはがし
取り出した導線のゴムを剥がします、細かいやり方は上の記事を読んでください
ボケすぎてた(反省)
③カバー装着
取り付ける先の端子の形に注意しよう!
④金属部分のかしめ
電工ペンチで慎重にかしめていきましょう
導線がはみ出た部分は絶縁テープで補強...
うまく刺さりました!ちょっと感動した
接続完了!
カーナビ用端子以外は、これで全部つながりました!
あとは車に搭載するだけ!
本来はこんなことしなくても取り付けれるはずだったのに...技術が身についたので良しとするか(前向き)
次回は車に取り付けます!↓
知識ゼロからのダイハツ タント カーオーディオ取り付け①準備編
記事の要約
愛車(ダイハツ タント)のカーオーディオを取り替えた
今回は準備編と言うことで使った機材と料金を整理
やはり初期投資でなんだかんだ金がかかる...
ギボシ加工不要な場合
オーディオ外して配線するだけです。
以下使用する工具
- ドライバー
- ギターピック(or内張剥がし)
- 車のバッテリー抜く10mmペンチ
これだけあればできると思います。
ギボシ加工必要な場合
ギボシ加工には電工ペンチが必要です
工具持ってないなら+3000くらいの出費くらいですかね
まあ、ギボシ加工は結構簡単ですのでご安心を!
はじめに
旅行の予定もあったため、長距離ドライブを快適にするためにカーオーディオを入れ替えたいと思いました。
お金もなかったため全て自分でカーオーディオ入れ替え作業を行うことにしました
果たしてネットで仕入れた知識でどうにかなるのか???
(ついでにドラレコも取り付けました)
使用した機材
①カーオーディオ
タッチパネルでCD/DVD対応 AUX USB搭載でええんじゃないかという感じ
(しかしこの後大きな問題が判明する)
② ダイハツ タント用ナビ・オーディオ取付キット
これにハーネスとか固定する金具とかオーディオ周りにはめるパネルがセットになっています。いや〜お値段が結構高い...6113yen
オーディオつけるならこれは必須な気がします
しばらくヤフオクで狙ってみましたが、送料考えると相場はあんま変わりませんでした
ダイハツ タント用ナビ・オーディオ取付キット(パネル色はシルバーです) KJ-D74D
- 出版社/メーカー: ジャストフィット(Just Fit)
- メディア: Automotive
- この商品を含むブログを見る
③ ドラレコ
本記事に関してはおまけ 5680yen
工具
①ギターピック(HARD OFF)
多分108yen 硬いやつがいいです
オーディオの内張を剥がすのと赤タップを開けるのに大活躍しました
②電工ペンチ
ギボシ加工するなら電工ペンチは必須です
レンチと内張剥がしなど色々ついて2300yenくらい
電工ペンチ単体でも1800くらいだったからお得なのか?
この辺買っとけば良さそう
③ドライバー(画像なし)
家にあった物を使いました、オーディオの固定具の取り外しに使います
電動でもいいね
さて、次は端子加工を行います
次回に続く↓
ギボシ加工興味ない方は取り付け編へ↓
オートバックスでETCをつけるときにETCカードは必要か?→提示は要求されなかった
本記事まとめ
オートバックスでETC取り付け・セットアップの際にETCカードの提示は要求されない
→ETCカードが無くてもETC取り付け・セットアップは可能
※ETCカードを車載器に挿入してないとETCゲートは通れません(当然)
※店舗によって対応が異なる可能性があるので鵜呑みにはしないように
はじめに
「ETCカードは他人のでも使える!」とか「セットアップは個人ではできない!」みたいな言う記事はいっぱいあったけど、「セットアップの時にETCカードは必要か?」と言うことに言及した記事はなかった。
「ETC取り付けたいけどまだカードないからセットアップできるか不安!」と思ってる人のためにこの記事を書いておきます。
「当たり前すぎて書く必要がないでしょw」とか言う人はキライ
経緯
「えーマジETC非搭載⁉︎」
「キモーイ」
「ETC非搭載が許されるのは平成までだよねー」
「「キャハハハハハハハ」」
と言う訳で愛車の軽自動車にETCをつけてきました。
オートバックス通販で10000円でセットアップ取り付け込みでやってくれます。↓
その場で買うより安いぽい?
と言うことでオートバックスで取り付け作業をすることにしました。
問題
通販でETCを注文して、注意書きを眺めてみるとこんなことが書いてありました
"ETCをご利用になるためにはETCカードのご用意、及び車載器の取付け・セットアップが必要です。"
このとき自分のETCカードを持っていなかったので「やべえよやべえよ」と思い、お店に電話で確認してみることに
解決
わい「今はETCカード持ってないんご...取り付けだけでもできる?」
店員ニキ「できますよ(爆笑)」
わい「やったぜ。」
と言うことで軽い感じでできるっぽいです。
まあETCカードないとゲート通れないから、こういう注意書き書いてあるんですよね。
カード未所持だから取り付けができない、ということはないっぽい。
そもそもETCのセットアップってのは車両情報をどっかに登録するだけなのでETCカードの情報は使わないんぽいですね。そういう仕組みだったか
取り付け
取り付けは1時間くらい待つので暇つぶしグッツ持っていくといいですね。
手続きは、車検証見せてキー渡して色々書類に個人情報書いて金払うだけ。
ETCカードの提示は要求されませんでした。
あ、車検証の名義の人がお店に行きましょうね。違う人だと委任状が必要だとかなんとか
以上
Visual Studioでwebsocket-sharpのビルドができない場合の対処法(Win, Mac共通)
数ヶ月前にUnityでwebsocketを使おうとしてダウンロードしてビルド使用した所、
ビルドのエラーが出てビルドできない現象が起こりました。
その対処方法についてまとめます、と言っても自分の場合はコードをコメントアウトするだけですが
エラーの経緯
基本的には
①ファイルをダウンロード
②Exampleを削除
③ビルドしてwebsocket-sharp.dllを生成
④websocket-sharp.dllをUnityにインポート
という手順ですが③のビルドでエラーが出て、ビルドを実行できない場合があります
VSの個人の環境もあると思いますが、私の場合はUnity2018 3.5と一緒に入れたままのVSでエラーが出ました
最新版のVSではこうなんですかね?ようわからん
またWindowsとMac両方で同じ対処法でビルドが通ったのでメモ程度に対処法をあげておきます、初めて入れたVSでビルドエラー探しから始めるのだるかった
問題のエラー
VSのスクショですが、今回はこういうエラーが出ました
ISerializableがなんかに含まれてない...みたいな感じですかね
エラーが起こってる部分はここです
CookieException.csの155行目でエラーが起こっています
解決方法
CookieException.csの155行目を次のようにコメントアウトします
.GetObjectDataをコメントアウトするとビルドが通ります
詳細などわかればコメントで教えてください…
関連記事
websocket-sharpのダウンロード
https://github.com/sta/websocket-sharp
基本的なやりかたは色々な人がまとめてくださっていますね
幸せになれるブルータルデスメタルのすすめ
今回は初めてのブログ記事で定番の、”ブルータルデスメタル”について書く
概要
ブルータルデスメタルを聴け。黙って聴け。お前は幸せになれる。
はじめに
幸せになりたいならブルータルデスメタルを聞く、それは直感的で合理的な判断
[1]はこのジャンルがどのくらいかっこいいか書いている
[2]は最高の音楽がまとまっている、おそらく楽園
関連記事
- https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AB%E3%83%BC%E3%82%BF%E3%83%AB%E3%83%BB%E3%83%87%E3%82%B9%E3%83%A1%E3%82%BF%E3%83%AB
- https://www.youtube.com/slamworldwide
おススメ楽曲
今回は、時間がないので有名なバンドを紹介する
Infant Annihilatorはイギリスのバンド
こんなにブルータルなバンドはなかなかないブルータルマジでブルータル
このバンドはドラムがすごい早くてブルータル
朝とかに聞くと生きる活力が出る
早すぎてスティックが鉛筆ぷるぷるするやつみたいになってる所もブルータル
WITHIN DESTRUCTIONもブルータルなバンドの一つ、かっこいい
しかし、さっきのバンドのMVもそうだが、なぜセクシーなのか
SIGNS OF THE SWARMも最高にブルータルでかっこいい
番外編として、ラブライブのブルータルデスメタルカバーアルバムを紹介する
内臓出ちゃってるがブルータルで大変良い
「僕らのSLAM 君とのSLAUGHTER」という曲名もブルータルで好きだ
よく聞くと原曲がわかる(わからない)
まとめ
この記事を読んだお前は幸せになった
調べる段階で、音楽ジャンルがSlam Death Metalとか英語wikiに書いてある、詳細の調査が必要だ、続きはまた書く