CraftLaunchという超軽量のランチャを愛用しているんですが、CraftLaunchを通じてPymolを起動するさいにメニューが起動しないことに対する対策メモ。
CraftLaunch
https://sites.google.com/site/craftware/clnch
症状:
・CraftLaunchからのPymol起動でメニューが出てこない。
・バッチファイルやVBSファイルを間にかませてもダメ。
・pythonやpymolフォルダを起動フォルダに指定してもムダ。
・エクスプローラーやUWSC等からの起動は問題ナシ。
・他のマルチウインドウソフトはとくに支障ナシ。
・CraftLaunch 2.xでは普通に起動する。→CraftLaunch 3.xからpythonを利用するようになったことがヒントになりそう。
まずはエラーログを見たいので、pymol.exeではなく直接スクリプトを叩いて起動。コマンドは下記の通り。
結果
TclError: Can’t find a usable init.tcl in the following directories:
~中略~
This probably means that Tcl wasn’t installed properly.
つまりCraftLaunch経由だとTclを見つけられていないと。
似たような状況を発見→http://biokids.org/?PyMOL%2F%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
init.tclは下記に発見。
C:Python27tcltcl8.5init.tcl
これを見つけられるようにすればいいので環境変数にTCL_LIBRARYを設定すれば良い。あるいはコマンドプロンプトで下記を入力してから起動すれば良い。
set TCL_LIBRARY=C:Python27tcltcl8.5
①バッチファイルを作成。
rem pymol.bat
set TCL_LIBRARY=C:Python27tcltcl8.5
C:Python27python.exe C:Python27Libsite-packagespymol__init__.py
②黒窓が開くのが嫌なのでVBSファイル
‘pymol.vbs
‘pymol.batを黒窓を表示せずに起動する。
Dim oShell
Set oShell = WScript.CreateObject (“WSCript.shell”)
oShell.run “C:Python27pymol.bat”,0
Set oShell = Nothing
③pymol.vbsをCraftLaunchで起動する。
これにてうまくいきます。