添加要导入到ROS的包

Adding a package to be imported to ROS

我正在尝试将名为 pytesseract 的模块导入到我制作的包中的 Python 文件中。但是,我收到“未找到模块”错误。 numpy 不会出现同样的错误,我注意到 numpy 在 requirements.txt 文件中。我的想法是我必须将 pytesseract 添加到像 CMakeLists 或 package.xml 这样的文件中。我到底应该做什么?

当 python module/package 无法导入 ros 时,很可能是 which python 的问题: python哪个是ros用的,你用哪个安装的。 通常,当然,你会为你的 python 项目制作一个特殊的环境,指定版本,但 ros 强烈喜欢使用系统级定义。并且(在 ubuntu 20 之前)严格首选 python 2。(Since/if/when ros 是唯一使用系统 python 的项目,这对其他项目来说效果很好)。

Ros 可执行文件(python 脚本)使用您提供的任何 shebang,或者 python 设置为默认值;您可以在 ros 之外尝试 运行 那个 (python2) 终端并尝试导入以缩小原因。使用错误会导入ros包失败python;同样,如果您 pip3/pip 安装 python3 包,将其导入 python2 将失败(由于默认 python_path 设置)。