Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

layout python stub to right place #69

Merged
merged 1 commit into from
Aug 24, 2015
Merged

Conversation

yosuke
Copy link
Contributor

@yosuke yosuke commented Aug 24, 2015

fkanehiro/hrpsys-base#764 であれこれ書いているpython stubのファイルレイアウトに関する修正です。

fkanehiro added a commit that referenced this pull request Aug 24, 2015
layout python stub to right place
@fkanehiro fkanehiro merged commit 5657473 into fkanehiro:master Aug 24, 2015
@k-okada
Copy link
Contributor

k-okada commented Aug 25, 2015

OpenHRPについてはマージ #69 でimport OpenHRPで完全に動くようになるはず。

完全に,というのは,#42 (comment)

      8 from OpenHRP import *
----> 9 print ModelLoader_idl

が動くようになった,というのでよいでしょうか.

@k-okada
Copy link
Contributor

k-okada commented Aug 25, 2015

fkanehiro/hrpsys-base#530
fkanehiro/hrpsys-base#483
については変更はなしでいいでしょうか. @yosuke

@yosuke
Copy link
Contributor Author

yosuke commented Aug 25, 2015

fkanehiro/hrpsys-base#530 についてはhrpsys.OpenHRPにしかない(OpenHRPにはない)RobotHardwareServiceを使っているのでPPAのパッケージを使う場合、以下のように変える必要があります。

from hrpsys import OpenHRP
SWITCH_ON  = OpenHRP.RobotHardwareService.SWITCH_ON

このコメントの変更をすれば
fkanehiro/hrpsys-base#764 (comment)

import hrpsys
import OpenHRP
SWITCH_ON  = OpenHRP.RobotHardwareService.SWITCH_ON

と同じように書けるので影響が少ないかもしれません。

@yosuke
Copy link
Contributor Author

yosuke commented Aug 25, 2015

#42 (comment) は私の環境だと正しく帰ってきてくれています。ただ他の環境でうまくいくかはまだ自信なしです。

@k-okada
Copy link
Contributor

k-okada commented Aug 25, 2015

ん.とするとこのPR(#69)を使うと,fkanehiro/hrpsys-base#764 (comment) をしないと,同じコードが動かなくなるということでしょうか?

@k-okada
Copy link
Contributor

k-okada commented Aug 25, 2015

PPAのパッケージを使う場合

は openhrp3 のパッケージ? hrpsys-baseのパッケージ?

@yosuke
Copy link
Contributor Author

yosuke commented Aug 25, 2015

from OpenHRP import ModelLoader_idl

みたいなコードは動かなくなります(ファイルの場所が変わっているので)。互換性のために移行期はファイルを入れておいたほうが良かったかな、、、と今思い始めました。
ただ上のようにすると定数などが参照できない問題があるので、おいおいやめたほうが良いです。

整理するとopenhrp3パッケージにはOpenHRPのみのスタブが入っていてimport OpenHRPで使える。

hrpsys-baseパッケージにはOpenHRP+hrpsysのスタブが入っていてimport hrpsys.OpenHRPで使える。

という状態に今はなっています。上の「PPAのパッケージを使う場合」はhrpsys-baseパッケージのことです。

@yosuke
Copy link
Contributor Author

yosuke commented Aug 25, 2015

補足すると

from OpenHRP import *

というコードがPythonに熟達した人ほどOpenHRPフォルダの下のpyファイルをロードする、と理解しがちなのですが、実際は__init__.pyに書かれた絶対パスの_idl.pyファイルがロードされます。

なので気持ちが悪いのですが_idl.pyは一個上のフォルダに置かないと正常に動作しません(CORBA python mappingの仕様のようです)。

@yosuke
Copy link
Contributor Author

yosuke commented Aug 25, 2015

と偉そうなことを書いておいて中途半端にフォルダ構造を直そうとしてエンバグしていたのは私だったかもしれません。

733fed7#diff-172b643d67255689234e079030ffb46e

色々お手数おかけしてすいません(今の状態がようやく正解です)。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants