[openrtm-staff:1016] 10/10の作業報告(河内)

河内のぶ n.kawauchi @ aist.go.jp
2017年 10月 10日 (火) 19:21:55 JST


安藤様

河内です

本日の作業内容をお知らせします。
------------
■rtcd_python.batの変更に伴い、bat→exeと変換したexeが動かない。
この原因の調査。
OpenRTM-aist-Python\OpenRTM_aist\utils\rtcd\rtcd_python.bat
OpenRTM-aist-Python\OpenRTM_aist\utils\rtcd\rtcd_python.exe

・結論としては、rtcd_python.batを下記(3)とすれば、batでもexe化しても
動くという判断です。前提条件はPythonのパスが通っていること。
いかがでしょうか。

python.exe %CD%\rtcd.py %*  ・・・(3)

・rtcd_python.exeは手動で変換したものをリポジトリにコミットしてます
・動作確認の詳細は以下の通り

*-*-*-*-*-*-*
・最近rtcd_python.batが変更となったが、これに伴うexe化作業が未対応
だったため、変換したexeの動作確認をしたところ、起動できなかった。
(1)->(2)へ変更。
----- rtcd_python.bat
%CD%\python.exe rtcd.py %*  ・・・(1)
   ↓
%~dp0\python.exe %~dp0\rtcd.py %*  ・・・(2)
-----

・(1)から生成したexeは、Python2.7のインストールディレクトリでのみ
実行動作を確認していた。
C:\Python27\rtcd_python.exe
C:\Python27\rtcd.py

・(2)から生成したexeを実行すると以下の状況となり動かない
-----
C:\Python27>rtcd_python.exe -d
'C:\Users\kawauchi\AppData\Local\Temp\\python.exe' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
-----

・なぜTempフォルダのpython.exeとなる?と調べたところ、下記サイトの説明
がしっくり来ました。rtcd_python.exeは、rtcd_python.batの自己解凍形式の
圧縮ファイルで、圧縮を解凍すると, 解凍先がテンポラリディレクトリになり, 
そこがカレントディレクトリとなるため。 
https://www.fukatani.org/~hi-lo/blog/archives/2009/04/batexeiexpressexe.html

・(1)から生成したexeは、「C:\Python27\rtcd_python.exe -d」で問題なく
起動します。RTSystemEditorでホストコンテキストの下にmanagerが見える
ので、カレントディレクトリを指す環境変数「%CD%」はexe化しても使える。

・(2)は宮本くんの修正で、Pythonのインストールディレクトリ以外でも実行
したいためのものと聞きました。(間違っていたらごめんなさい)

・Pythonはパスが通っていることを前提で、batファイルを(3)とすれば
exe化して任意のディレクトリにrtcd.pyとセットにして置いても起動できる
ことを確認。
python.exe %CD%\rtcd.py %*  ・・・(3)

・batファイルを「python.exe %~dp0\rtcd.py %*」としてしまうと、Pythonの
インストールディレクトリに置いても動かない。
-----
C:\Python27>rtcd_python.exe -d
python.exe: can't open file 'C:\Users\kawauchi\AppData\Local\Temp\\rtcd.py': [Errno 2] No such file or directory
-----

■OpenRTM-aist 1.2.0版のmsm作成に関するwikiページ更新確認
・作業中
・次に予定しているPython3に対応したOpenRTM-aist-Pythonのmsm作成作業
 に入る前に、インストーラのwikiページの更新内容を確認する
・不足していれば加筆する
http://redmine.openrtm.org/projects/openrtm_cxx_installer/wiki

以上です。

---------------------------------------------------
河内 のぶ  n.kawauchi @ aist.go.jp
産業技術総合研究所 ロボットイノベーション研究センター
ロボットソフトウエアプラットフォーム研究チーム
テクニカルスタッフ



More information about the openrtm-staff mailing list