0

我正在尝试将一个名为 pytesseract 的模块导入到我制作的包中的 Python 文件中。但是,我收到 No Module Found 错误。numpy 不会出现同样的错误,我注意到 numpy 在 requirements.txt 文件中。我的想法是我必须将 pytesseract 添加到 CMakeLists 或 package.xml 之类的文件中。我实际上应该做什么?

4

1 回答 1

0

当 python 模块/包无法导入 ros 时,很可能是哪个python 的问题:ros 使用的是哪个 python,以及您曾经安装的是哪个 python。当然,通常你会为你的 python 项目创建一个特殊的环境,指定版本,但是 ros 强烈喜欢使用系统级别的定义。并且(在 ubuntu 20 之前)严格首选 python 2。(因为/如果/当 ros 是唯一使用系统 python 的项目时,这对其他项目来说很好)。

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

于 2020-06-17T17:42:32.417 回答