gpt4 book ai didi

python - GnuRadio:在子目录中组织 OOT 模块 python 代码

转载 作者:太空宇宙 更新时间:2023-11-03 19:55:47 25 4
gpt4 key购买 nike

我使用 gr_modtool 将 python 中的自定义 block 添加到 OOT 模块中。看来我编写的所有源 python 都必须驻留在 gr-my_oot_module/python 目录中。我将编写分布在许多 python 文件中的大量代码。我想将这些文件组织到 gr-my_oot_module/python 下的子目录中(大概)。简单地创建这些目录并将代码放在那里并不会导致安装成功。

将我为此模块编写的 python 文件组织到子目录中的正确方法是什么?

更具体地说:

  1. 我通过 gr_modtool 添加了一个 block 。将关联的python文件放入python目录中。
  2. 然后,我将该 .py 文件移动到 python/下的子目录 (sub_dir) 中。
  3. 我修改了 python 目录下的 init.py 和 CMakeLists.txt 以反射(reflect)子目录位置,然后进行安装。

该 block 出现在 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' –

最佳答案

你是对的,Python 代码位于 python/下。然后,您应该使用 gr_modtool add 添加 GNU Radio python block 。这还会将它们添加到 CMakeLists.txt 中,从而确保它们在安装过程中被安装。

不,仅将文件放入子目录中并不会使它们成为已安装模块的一部分。这与任何其他 python 代码没有什么不同。如果您希望某些内容成为模块的一部分,则需要将它们放在 __init__.py 中。 python.org 教程是您的 friend !

关于python - GnuRadio:在子目录中组织 OOT 模块 python 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59548097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com