【发布时间】:2020-01-03 03:55:41
【问题描述】:
我使用 gr_modtool 将 python 中的自定义块添加到 OOT 模块。看来我编写的所有源 python 都必须驻留在 gr-my_oot_module/python 目录中。 我将编写大量分布在许多 python 文件中的代码。我想将这些文件组织到 gr-my_oot_module/python 下的子目录中(大概)。简单地创建这些目录并将代码放在那里不会导致安装成功。
将我为此模块编写的 python 文件组织到子目录中的正确方法是什么?
更具体地说:
- 我通过 gr_modtool 添加了一个块。关联的python文件放在python目录下。
- 然后我将该 .py 文件移动到 python/ 下的子目录 (sub_dir)。
- 我修改了python目录下的init.py和CMakeLists.txt以反映子目录位置,然后进行安装。
该块出现在 GRC 中。当我尝试使用它时,它会抱怨
File "/home/my_name/devel/gnuradio3_8/lib/python3.6/dist-packages/my_module/__init__.py"
from .sub_dir.sub_dir_test_blk import sub_dir_test_blk
ModuleNotFoundError: No module named 'my_module.sub_dir' –
【问题讨论】:
-
是的,听起来
sub_dir不是一个模块。你做到了吗? -
sub_dir 是一个目录。 “模块”是指“包”(即目录 sub_dir 包含 init.py 文件)吗?