2009/03/17(火) [n年前の日記]
#1 [python] Python+Tkinterが動かなくなっていた
いつから動かなくなっていたんだろう…。こんな状態になるなら、Python + Tkinter で関連ツールを書くんじゃなかった。blender に絡んでくるツールだから、Python を使ったほうがいいのかなとか、Tkならどこの環境にも比較的入ってる・インストール可能だから都合がいいかなとか、そのように思って使ったのがかえって裏目に出てしまったかもしれず。
Python 2.6.1 をアンインストール・再インストールしたものの、結果は変わらず。
どうも、ActiveTcl をインストールしたせい・環境変数の TK_LIBRARY に ActiveTcl のソレを指定したのが問題ではないのかと思えてきたり。なので試しに、ActiveTcl をアンインストールして、環境変数 TK_LIBRARY と TCL_LIBRARY を削除してみた。ちなみに、それぞれの環境変数は、
上記対処をしてみたところ、Python + Tkinter の helloworld スクリプトが動作した。するとやっぱり、ActiveTcl が原因だったということか。いや、TK_LIBRARY が原因なのかもしれないか。…しかし一体どこで設定したんだろう。>TK_LIBRARY。ActiveTclインストール時に自動で設定されたのかしら。そもそもどうして ActiveTcl なんぞを自分はインストールしていたのだろう。思い返してみたところ、どうも Ruby/Tk を試そうとした際にインストールしたような気がする。すると、結局はは Ruby が癌だったのか。<オイ。Ruby が自前で Tk関連ライブラリを内包していないのがマズイのだ。いやまあ、Ruby としてはそのへん何か理由があるんだろうけど。
というか、Ruby/Tk を使うために ActiveTcl をインストールして環境変数を設定したりすると、Python + Tkinter が使えなくなるというこの状況は非常にマズイ。自分が作ったスクリプトは、後々別環境で使われる可能性がありそうなのだけど、ソレを動かす環境では ActiveTcl をインストールしちゃダメ、Ruby はもちろん Ruby/Tk 使っちゃダメ、というわけにはいかないだろうと。
自分一人でスクリプトを使う分には、コマンドライン指定でも特に問題は無いけれど。他者が使う可能性がある場合は、ファイル指定等、GUIにしておいたほうが良さそうな気がする。しかし、てっとり早くGUIツールにできる Tk は、今回のようなトラブルが起きかねない。どうしたもんか…。
Python 2.6.1 をアンインストール・再インストールしたものの、結果は変わらず。
どうも、ActiveTcl をインストールしたせい・環境変数の TK_LIBRARY に ActiveTcl のソレを指定したのが問題ではないのかと思えてきたり。なので試しに、ActiveTcl をアンインストールして、環境変数 TK_LIBRARY と TCL_LIBRARY を削除してみた。ちなみに、それぞれの環境変数は、
TK_LIBRARY C:\usr\local\Tcl\lib\tk8.5
TCL_LIBRARY C:\usr\local\Tcl\lib\tcl8.5になっていたことをメモ。ActiveTcl のインストール先フォルダ内の特定フォルダを指定していたらしい。>過去の自分。
上記対処をしてみたところ、Python + Tkinter の helloworld スクリプトが動作した。するとやっぱり、ActiveTcl が原因だったということか。いや、TK_LIBRARY が原因なのかもしれないか。…しかし一体どこで設定したんだろう。>TK_LIBRARY。ActiveTclインストール時に自動で設定されたのかしら。そもそもどうして ActiveTcl なんぞを自分はインストールしていたのだろう。思い返してみたところ、どうも Ruby/Tk を試そうとした際にインストールしたような気がする。すると、結局はは Ruby が癌だったのか。<オイ。Ruby が自前で Tk関連ライブラリを内包していないのがマズイのだ。いやまあ、Ruby としてはそのへん何か理由があるんだろうけど。
というか、Ruby/Tk を使うために ActiveTcl をインストールして環境変数を設定したりすると、Python + Tkinter が使えなくなるというこの状況は非常にマズイ。自分が作ったスクリプトは、後々別環境で使われる可能性がありそうなのだけど、ソレを動かす環境では ActiveTcl をインストールしちゃダメ、Ruby はもちろん Ruby/Tk 使っちゃダメ、というわけにはいかないだろうと。
自分一人でスクリプトを使う分には、コマンドライン指定でも特に問題は無いけれど。他者が使う可能性がある場合は、ファイル指定等、GUIにしておいたほうが良さそうな気がする。しかし、てっとり早くGUIツールにできる Tk は、今回のようなトラブルが起きかねない。どうしたもんか…。
- Javaは、ソースを気軽に開いて中身を確認したり、修正したりすることができないだろうし。
- ActivePerl は Tkモジュールを同梱しなくなったからちと面倒だし。
- Ruby/Tk は別途 ActiveTcl を入れるのが面倒だし。
- Tcl/Tk は言語仕様の面でアレだし。
[ ツッコむ ]
#2 [pc] AmazonからCanon iP4600が届いた
10,880円で購入。今まで使ってた・顔料インク部分だけが微妙に印刷されなくなった iP4300 を片づけて、早速セットアップ。問題なく印刷できそうな感じ。
CD-Rへの印刷機能等がない、Canon iP3600 でもいいかなと思ってたけど。 *1 妹が「絶対に両面印刷がなきゃ嫌だ」と強く主張するので、両面印刷可能、かつ、非複合機のiP4600を選択したわけで。この機種以外に両面印刷可能な機種となると、プリンタとスキャナが一体になった、いわゆる複合機になってしまう。インクジェットプリンタは、やれヘッドの目詰まりが云々等のトラブルが必ず出てくる機器だろうけど。プリンタ部分に発生したトラブルのせいで、関係ないスキャナ機能まで一緒に修理に出さなきゃいけない or 買い替えになるのはバカバカしいので、できるだけプリンタ単体の機器を選びたいなと思っているわけで。
どうも巷のアレコレを調べた限りでは、Canon製プリンタは、せいぜい2年しか持たないらしい。それが本当なら、新規購入時は1万ちょっとで購入できるとしても、1年につき5千円ほど出費することになってしまう。そうまでして何かを印刷したいかというと、自分の場合はちょっと微妙なわけで。まあ、EPSON製プリンタに比べればはるかに目詰まりしないほうだし、使い勝手も良かったので、一応今回もCanon製プリンタを選択してはみたけれど。また2年でダメになるようであれば、次回はちょっと考え直したい。が、HP製プリンタや、brother製プリンタは、両面印刷がないわけで…。
印刷品質はちょっとぐらい悪くてもいいから、
CD-Rへの印刷機能等がない、Canon iP3600 でもいいかなと思ってたけど。 *1 妹が「絶対に両面印刷がなきゃ嫌だ」と強く主張するので、両面印刷可能、かつ、非複合機のiP4600を選択したわけで。この機種以外に両面印刷可能な機種となると、プリンタとスキャナが一体になった、いわゆる複合機になってしまう。インクジェットプリンタは、やれヘッドの目詰まりが云々等のトラブルが必ず出てくる機器だろうけど。プリンタ部分に発生したトラブルのせいで、関係ないスキャナ機能まで一緒に修理に出さなきゃいけない or 買い替えになるのはバカバカしいので、できるだけプリンタ単体の機器を選びたいなと思っているわけで。
どうも巷のアレコレを調べた限りでは、Canon製プリンタは、せいぜい2年しか持たないらしい。それが本当なら、新規購入時は1万ちょっとで購入できるとしても、1年につき5千円ほど出費することになってしまう。そうまでして何かを印刷したいかというと、自分の場合はちょっと微妙なわけで。まあ、EPSON製プリンタに比べればはるかに目詰まりしないほうだし、使い勝手も良かったので、一応今回もCanon製プリンタを選択してはみたけれど。また2年でダメになるようであれば、次回はちょっと考え直したい。が、HP製プリンタや、brother製プリンタは、両面印刷がないわけで…。
印刷品質はちょっとぐらい悪くてもいいから、
- 目詰まりしにくい。
- ちょっとは長持ちする。
- 両面印刷等使い勝手がいい。
- 複合機ではない。
*1: 自分、iP4300で、CD-Rへの印刷は一度もしたことがないから。
[ ツッコむ ]
以上、1 日分です。