[openrtm-staff:1149] Re: 11/6の作業報告(河内)

片見剛人 t-katami @ aist.go.jp
2017年 11月 7日 (火) 15:14:26 JST


河内様

片見です。

rtcd_python.exe  を使わない方向で検討しました。
いかがでしょうか?

** ディレクトリ
+--Python27
   +--rtcd-python-daemon.bat
   +--rtcd_python.bat
   +--rtc.conf
   +--rtcd.py
   +--rtcprof_python.bat
   +--rtcprof.py

rtcd_python.exe、python27.dll、rtcd-lib\ は、
インストールしない構成です。


** rtcd_python.bat
@echo off
rem Copyright (C) 2009-2010
rem     Shinji Kurihara
rem     Task-intelligence Research Group,
rem     Intelligent Systems Research Institute,
rem     National Institute of
rem         Advanced Industrial Science and Technology (AIST), Japan
rem     All rights reserved.
%~dp0\python.exe %~dp0\rtcd.py %*


** rtcd-python-daemon.bat
%~dp0\rtcd_python.bat -d -f %~dp0\rtc.conf

** Start Python RTC daemon
- リンク先:C:\Python27\rtcd-python-daemon.bat
- 作業フォルダ:C:\Python27\

** rtcprof_python.bat
@echo off
rem Copyright (C) 2010
rem     Shinji Kurihara
rem     Intelligent Systems Research Institute,
rem     National Institute of
rem         Advanced Industrial Science and Technology (AIST), Japan
rem     All rights reserved.
%~dp0\python.exe %~dp0\rtcprof.py %*



よろしくお願いいたします。








________________________________________
差出人: 片見剛人
送信日時: 2017年11月7日 12:04
宛先: openrtm-staff @ openrtm.org
件名: RE: [openrtm-staff:1147] Re:        11/6の作業報告(河内)

河内さま

片見です。

> Pythonのインストーラがパスを通してくれるC:\Python27\Scriptsを利用する
> ことは難しいのでしょうか。
ご指摘ありがとうございます。
それで再度検討します。

よろしくお願いします。


________________________________________
差出人: openrtm-staff <openrtm-staff-bounces @ openrtm.org> が 河内のぶ <n.kawauchi @ aist.go.jp> の代理で送信
送信日時: 2017年11月7日 12:01
宛先: openrtm-staff @ openrtm.org
件名: [openrtm-staff:1147] Re:    11/6の作業報告(河内)

片見様

河内です

お知らせ頂いた構成でインストーラを生成することはできますが、
一点確認させて下さい。

> ** パスの追加
> c:\python27\rtcd、c:\python27\rtcprofのパスを通します。
このパス設定はユーザ自身に行って頂くことになります。

Pythonがどこにインストールされているのかは、OpenRTM-aistのmsi実行中に
レジストリ情報から取得しますので、前もっては分からず、上記のパスを通す
ことはできないとの認識です。

Python3になると、標準インストーラのデフォルトのパスは以下のように長く
なるので、ユーザ自身にお願いするのは辛いのでは?と思いました。
C:\Users\kawauchi\AppData\Local\Programs\Python\Python36-32\

Pythonのインストーラがパスを通してくれるC:\Python27\Scriptsを利用する
ことは難しいのでしょうか。

以上、よろしくお願いいたします。

On Tue, 7 Nov 2017 02:34:16 +0000
片見剛人 <t-katami @ aist.go.jp> wrote:

> 河内さま
>
> 片見です。
>
> マスターマネージャーの構成ですが
> 以下のような修正をお願いしたいのですが、
> 何か問題があれば、
> ご指摘をお願いします。
> #rtcd_python.exeがうまく動作しない原因が
> #わからないのですが、
> #rtcd_python.exeを使用することにしてあります。
>
> ** rtc.batをrtcd-python-daemon.batに変名。
> c++のマネージャの実行ファイル名はrtcd.exeですので、
> わかりやすくするために変名をします。
>
> ** ディレクトリ
> +--Python27
>    +--rtcd-python-daemon.bat
>    |
>    +--rtcd
>    |  +--rtcd_python.exe
>    |  +--python27.dll
>    |  +--rtc.conf
>    |  +--rtcd-lib
>    |
>    +--rtcprof
>       +--rtcprof_python.bat
>       +--rtcprof.py
>
> ** パスの追加
> c:\python27\rtcd、c:\python27\rtcprofのパスを通します。
>
> ** rtcd-python-daemon.bat
> %~dp0\rtcd\rtcd_python.exe -d -f %~dp0\rtcd\rtc.conf
>
> ** rtcprof_python.bat
> @echo off
> rem Copyright (C) 2010
> rem     Shinji Kurihara
> rem     Intelligent Systems Research Institute,
> rem     National Institute of
> rem         Advanced Industrial Science and Technology (AIST), Japan
> rem     All rights reserved.
> python.exe %~dp0\rtcprof.py %*
>
> ** Start Python RTC daemon
> - リンク先:C:\Python27\rtcd-python-daemon.bat
> - 作業フォルダ:C:\Python27\
>
>
> よろしくお願いします。
>
>
>
>
> ________________________________________
> 差出人: openrtm-staff <openrtm-staff-bounces @ openrtm.org> が 河内のぶ <n.kawauchi @ aist.go.jp> の代理で送信
> 送信日時: 2017年11月6日 19:00:23
> 宛先: openrtm-staff @ openrtm.org
> 件名: [openrtm-staff:1141]        11/6の作業報告(河内)
>
> 安藤様
>
> 河内です
>
> 本日の作業内容をお知らせします。
> ------------
> ■ミーティング
>
> ■OpenRTM-aistのWindows環境でのビルドで、Python2.7と3.6.3の両方が
> インストールされている場合にエラーになる件の調査
>
> ・ビルド時、pythonは2.7を指定しているが、途中で3.6.3が走ってしまい
>  pythonが停止してしまう。このためmakedeffile.pyで coil120_vc**.def を
>  生成できず、エラーで終了する
>
> ・OpenRTM-aist\build\*.pyはPython3に対応していなかった(特にprint文)
>  ということで、宮本君が修正を入れてくれた。(r3060-3061)
>   この対応だけではビルドエラーは改善せず。
>
> *-*-*-*-*
> 下記でPYTHONHOMEを設定した場合、Python3.6.3をデフォルトのパスに
> インストールした場合と確認しましたが、いずれも同じエラー。
> batファイルではPYTHON_DIR=C:\Python27として実行しているのに、3.6の
> 環境が壊れてPythonが停止している。
>
> バイナリ生成が目的のビルドなので、当面は2.7と3.6を共存させない環境を
> 利用することにして先に進めます。
> *-*-*-*-*
>
> 以下、確認作業メモ。
>
> ▼PYTHONHOMEを指定してみる
> ・下記設定でもPy_InitializeでエラーとなりPythonが停止する。
> set PYTHON_DIR=C:\Python27
> set PYTHONHOME=%PYTHON_DIR%
> set PYTHONPATH=%PYTHON_DIR%\Lib
>
> この実行環境はPythonのパスの順序は以下としている。
> C:\Python27\;C:\Python27\Scripts;C:\Python36_x64\Scripts\;C:\Python36_x64\;C:\Python36\Scripts\;C:\Python36\;
>
> ビルド実行前の確認ではPython環境は壊れていない
> >py
> Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32
>
> >py -2
> Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] on win32
>
> ★参考:WindowsでPython2/3の共存が壊れたらPYTHONHOMEを削除する
> http://hakomof.hatenablog.com/entry/2017/10/21/182018
>
> ・上記サイトでPython環境が壊れた場合のメッセージが、まさに今回遭遇して
>  いる内容と同じ。ここの情報を見ると、PYTHONHOMEを設定していないと
>  Pythonのデフォルトのインストールパスが使われると読み取れます。
>  動作確認環境はデフォルトのパスではない場所へインストールしてます!
>  これが影響してるのか?
>
> ▼Pythonをデフォルトのパスへインストールしてみる
> ・3.6.3の32bit版だけインストール
> ・カスタムインストール時のデフォルトのパスへインストールする
> ----- 
> ・「Install for all users」オプションにチェックを入れる
> ・インストール先はデフォルトのC:\Program Files (x86)\Python36-32とする
> -----
>
> ・Pythonパスの順序は以下となっている
> C:\Python27\;C:\Python27\Scripts;C:\Program Files (x86)\Python36-32\Scripts\;C:\Program Files (x86)\Python36-32\
>
> ・PYTHONHOMEは指定せずにビルドする
> ・ビルドは私の環境で行っているので、実際は下記内容のbatファイルを
>  実行している
> -----
> set PYTHON_DIR=C:\Python27
> @rem set PYTHONHOME=%PYTHON_DIR%
> set PYTHONPATH=%PYTHON_DIR%\Lib
> set OMNI_VERSION=4.2.2
> set ARCH=x86
> set VC_VERSION=10
> C:\cygwin64\bin\bash prepare_openrtm.sh
> build.bat
> ------
>
> ⇒やはりPythonが停止する
> ----
> Fatal Python error: Py_Initialize: unable to load the file system codec
>   File "C:\Python27\Lib\encodings\__init__.py", line 123
>     raise CodecRegistryError,\
>                             ^
> SyntaxError: invalid syntax
>
> Current thread 0x00002ecc (most recent call first):
> -----
>
> ・このビルドのためにbatファイルを実行したのと同じコマンドプロンプトで
> 続けてpython3.6と2.7を確認したところ、3.6の方が壊れていることを確認
> -----
> >py
> Fatal Python error: Py_Initialize: unable to load the file system codec
>   File "C:\Python27\Lib\encodings\__init__.py", line 123
>     raise CodecRegistryError,\
>                             ^
> SyntaxError: invalid syntax
>
> Current thread 0x00002890 (most recent call first):
>
> >py -2
> Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] on win32
> -----
>
> ・PYTHONHOMEの設定をコメントインして確認するも同じエラー
>
> ▼Pythonを標準インストールした場合を確認する
> ・インストール先
> C:\Users\kawauchi\AppData\Local\Programs\Python\Python36-32\
> ・PYTHONHOMEは指定しない・・・エラー変わらず
> ・PYTHONHOMEを指定・・・エラー変わらず
>
> 以上です。
>
> ---------------------------------------------------
> 河内 のぶ  n.kawauchi @ aist.go.jp
> 産業技術総合研究所 ロボットイノベーション研究センター
> ロボットソフトウエアプラットフォーム研究チーム
> テクニカルスタッフ
>
> _______________________________________________
> openrtm-staff mailing list
> openrtm-staff @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-staff
> _______________________________________________
> openrtm-staff mailing list
> openrtm-staff @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-staff


_______________________________________________
openrtm-staff mailing list
openrtm-staff @ openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-staff


More information about the openrtm-staff mailing list