私は現在、私のservice_def.pyファイルにインポートできないどこかで定義した.srvファイルをインポートする際にいくつかの問題があります。なぜそれはできないのですか?このROSインポートsrvメッセージ - 相対インポートのジャンプ問題
.
├── CMakeLists.txt -> /opt/ros/indigo/share/catkin/cmake/toplevel.cmake
└── service
├── CMakeLists.txt
├── include
│ └── service
│ ├── __init__.py
│ ├── service_def.py
│ └── service_def.pyc
├── package.xml
├── setup.py
├── src
│ └── service_node.py
└── srv
├── get.srv
├── set.srv
└── __init__.py
service_def.pyは、このような
from ..srv import *
そして、私のservice_node.pyとして定義されているよう
私はrosnodeとしてそれを作ったが、catkin_workspaceの私のsrcフォルダが見えた私rosrun
輸入service_def.py
import service.service_def
なぜ私は自分のserviをインポートしますかservice_def.pyのceメッセージ
エラーメッセージ:
## ! DO NOT MANUALLY INVOKE THIS setup.py, USE CATKIN INSTEAD
from distutils.core import setup
from catkin_pkg.python_setup import generate_distutils_setup
# fetch values from package.xml
setup_args = generate_distutils_setup(
packages=['service'],
package_dir={'': 'include'},
)
setup(**setup_args)
サービスファイルをどのようにインポートしますか? –
問題は 'service_def.py'のインポートです。srvファイルはインポートされません。 –
@CarltonBanksこれはあなたの 'setup.py'がサービスを定義していることを前提としています(これはTracebackによる)、そして' CMakeLists.txt'ではサービスファイル(ROSチュートリアルで指定)を定義しています。このチュートリアル(http://wiki.ros.org/rospy_tutorials/Tutorials/Makefile)を見れば、 'setup.py'がcatkinによってどのように使われているかの例を見ることができます。 –