[openrtm-staff:1393] 1/4の作業報告(河内)
河内のぶ
n.kawauchi @ aist.go.jp
2018年 1月 4日 (木) 18:47:40 JST
安藤様
河内です
本日の作業内容をお知らせします。
------------
■Python3.6対応のOpenRTM-aistインストーラのインストールテスト
・前回の続き 12/27版のmsiを使用
・下記テストスクリプトを修正して利用する
⇒・Pythonのインストール先パスにブランクが入っている場合への対応
・ログファイル名に使用しているタイムスタンプ取得処理の見直し
http://openrtm.org/svn/openrtm-msi-buildtool/trunk/openrtm_msi/test_scripts/windows_installer_test.bat
※インストールテスト環境
・Python 2.7.14と3.6.4を使用(共に最新版)
<環境2> ・・・Python2.7と3.6共存
・Pythonインストール先
C:\Python27
C:\Python27_x64
C:\Program Files (x86)\Python36-32
C:\Program Files\Python36
⇒Python3.6は、カスタムインストールで、「Install for all users」を
選択すると、デフォルトのインストール先がProgram Files下になる
▼環境2へOpenRTM-aist 32bit版インストール
1)インストール先確認
・OK!
・ログ(Python関連のみ抜粋)
*-*-*-*-*-*-* check Python installed directory *-*-*-*-*-*-*
C:\Python27 ----OpenRTM-aist-Python installed. ←※
C:\Python27 ----RTShell installed. ←※
C:\Program Files (x86)\Python36-32 ----OpenRTM-aist-Python installed. ←※
C:\Program Files (x86)\Python36-32 ----RTShell not installed. ←※
C:\Python27_x64 ----OpenRTM-aist-Python not installed.
C:\Python27_x64 ----RTShell not installed.
C:\Program Files\Python36 ----OpenRTM-aist-Python not installed.
C:\Program Files\Python36 ----RTShell not installed.
2)Python2.7でのPythonサンプルConsoleIn/ConsoleOut動作確認
・PATHの先頭に「C:\Python27」を追加
・検索窓からコマンドプロンプト画面を立ち上げ、Pythonバージョン確認
>python
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] on win32
・スタートメニューからPython_Examplesをクリックし、
ConsoleIn.bat, ConsoleOut.batを実行
・接続動作 OK!
3)Python2.7でのPythonサンプルSimpleService動作確認・・・エラー
・MyServiceConsumer.pyに対するr907の修正が影響しています。
-----
def onExecute(self, ec_id):
print("\n")
print("Command list: ")
print(" echo [msg] : echo message.")
print(" set_value [value]: set value.")
print(" get_value : get current value.")
print(" get_echo_history : get input messsage history.")
print(" get_value_history: get input value history.")
print("> ",end="")
args = str(input()) ← ★ここ
-----
・MyServiceProviderと接続して「echo hoge」と入力したところ下記のエラー
になりました。後述の通り、Python3.6ではこのコードで正常に動作します。
宮本くん、対応、よろしくお願いします。(^^;
-----
2018-01-04 16:04:56,059 file.rtobject ERROR Traceback (most recent call last):
File "C:\Python27\lib\site-packages\OpenRTM_aist\RTObject.py", line 1564, in on_execute
ret = self.onExecute(ec_id)
File "MyServiceConsumer.py", line 76, in onExecute
args = str(input())
File "<string>", line 1
echo hoge
^
SyntaxError: unexpected EOF while parsing
-----
4)Python3.6でのPythonサンプルConsoleIn/ConsoleOut動作確認
・PATHの先頭に「C:\Program Files (x86)\Python36-32」を追加
・検索窓からコマンドプロンプト画面を立ち上げ、Pythonバージョン確認
>python --version
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
・接続動作 OK!
5)Python3.6でのPythonサンプルSimpleService動作確認
・接続動作 OK!
▼環境2へOpenRTM-aist 64bit版インストール
1)インストール先確認
・OK!
・ログ(Python関連のみ抜粋)
*-*-*-*-*-*-* check Python installed directory *-*-*-*-*-*-*
C:\Python27 ----OpenRTM-aist-Python not installed.
C:\Python27 ----RTShell not installed.
C:\Program Files (x86)\Python36-32 ----OpenRTM-aist-Python not installed.
C:\Program Files (x86)\Python36-32 ----RTShell not installed.
C:\Python27_x64 ----OpenRTM-aist-Python installed. ←※
C:\Python27_x64 ----RTShell installed. ←※
C:\Program Files\Python36 ----OpenRTM-aist-Python installed. ←※
C:\Program Files\Python36 ----RTShell not installed. ←※
2)Python2.7でのPythonサンプルConsoleIn/ConsoleOut動作確認
・PATHの先頭に「C:\Python27_x64」を追加
・検索窓からコマンドプロンプト画面を立ち上げ、Pythonバージョン確認
>python
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500 64 bit (AMD64)] on win32
・スタートメニューからPython_Examplesをクリックし、
ConsoleIn.bat, ConsoleOut.batを実行
・接続動作 OK!
3)Python2.7でのPythonサンプルSimpleService動作確認
・32bit版と同様にエラーとなる
4)Python3.6でのPythonサンプルConsoleIn/ConsoleOut動作確認
・PATHの先頭に「C:\Program Files\Python36」を追加
・検索窓からコマンドプロンプト画面を立ち上げ、Pythonバージョン確認
>python --version
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)] on win32」
・接続動作 OK!
5)Python3.6でのPythonサンプルSimpleService動作確認
・接続動作 OK!
■rtshellのPython3.6用マージモジュール作成 ・・・作業に着手
・Jenkinsビルド環境にOpenRTM-aist-Pythonのruntimeのみインストールする
・上記の動作確認で、OpenRTM-aist-Pythonのruntimeインストールは問題
なかったので、12/27版のmsiを使う
・Jenkins環境は、r330-10上の下記を使用
windows10-vc2017-py3
windows10-vc2017-x64-py3
・Python3.6はカスタムインストールで、「Install for all users」を選択し
下記ディレクトリを指定してインストールしている
C:\Python36
C:\Python36_x64
⇒・OpenRTM-aistインストーラでカスタムセットアップでPythonのruntimeのみ
インストールされるように選択する
・この時、カスタムセットアップのFeature treeではruntimeメニューとして
以下のみが表示される
「Runtime for Python 3.6 HKLM」
これは、次の2つが表示されないということでOK動作
「Runtime for Python 2.7」
「Runtime for Python 3.6 HKCU」
この動作は、レジストリのPythonのInstallPathをチェックし、
インストールしていない場合は、FeatureタグのLevelを0に変更して
インストールしないようにするという下記の設定が効いていると判断して
いる。
<Condition Level="0">NOT Installed AND NOT PYTHON27DIR</Condition>
<Condition Level="0">NOT Installed AND NOT PYTHON36DIR_HKCU</Condition>
レジストリキーHKLMにはインストールされているので、下記のコードが
入っていてもLevelが0にはならない動作も確認。
<Condition Level="0">NOT Installed AND NOT PYTHON36DIR_HKLM</Condition>
⇒・こうしてPythonのruntimeだけのインストールが終わると、再起動を促す
ダイアログ画面が表示される
-----
OpenRTM-aist-1.2.0(32-bit OS)に行った構成の変更を有効にするには、
システムを再起動する必要があります。すぐに再起動する場合は「はい」を、
後で手動で再起動する場合は「いいえ」をクリックしてください。
-----
・通常の「標準」インストールを選択した場合にはこのメッセージは
出力されない。
・1.2.0版のmsiからは、WM_SETTINGCHANGEメッセージを送信するカスタム
アクションの WixBroadcastSettingChange と WixBroadcastEnvironmentChange
を追加しているので、再起動せずともシステム環境変数が反映される。
・再起動をユーザに促すという下記コードも含めていない
<ScheduleReboot After='InstallFinalize' />
・カスタムセットアップを選択した場合のデフォルトの動作なのかな?
ということで、この件は深く調べないつもりです。
・rtshellのビルド確認は明日から始めます
以上です。
---------------------------------------------------
河内 のぶ n.kawauchi @ aist.go.jp
産業技術総合研究所 ロボットイノベーション研究センター
ロボットソフトウエアプラットフォーム研究チーム
テクニカルスタッフ
More information about the openrtm-staff
mailing list