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

河内のぶ n.kawauchi @ aist.go.jp
2017年 11月 7日 (火) 12:01:41 JST


片見様

河内です

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

> ** パスの追加
> 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




More information about the openrtm-staff mailing list