[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