【问题标题】:Using GnuRadio Companion under a virtual environment在虚拟环境下使用 GnuRadio Companion
【发布时间】:2020-04-20 05:13:00
【问题描述】:

我创建了一个虚拟环境,其中包含一些 python 所需的包。当我激活虚拟环境并尝试从同伴运行流程图时,它抱怨找不到我包含在虚拟环境中的特殊包。

有趣的是,我可以从命令行成功运行 GnuRadio Companion 自动生成的 .py 版本的流程图。

我怎样才能让它在 Gnu Radio Companion 下工作?

作为一个具体的例子,我创建了一个包含 pandas 包的虚拟环境,并尝试在最初使用 gr_modtool 创建的 no_block 类型自定义 python 块中导入 pandas。我在激活虚拟环境的情况下进行了安装。虽然从命令行运行流程图工作正常,但尝试从 GRC 运行相同的流程图时出现以下错误(从命令行打开并激活虚拟环境):

Traceback (most recent call last):
  File "/home/my_name/devel/gr-my_oot_module/examples/my_flowgraph.py", line 35, in <module>
    import my_oot_module
  File "/home/my_name/devel/gnuradio3_8/lib/python3.6/dist-packages/my_oot_module/__init__.py", line 39, in <module>
    from .my_noblock_block import my_noblock_block
  File "/home/my_name/devel/gnuradio3_8/lib/python3.6/dist-packages/my_oot_module/my_noblock_block.py", line 25, in <module>
    import pandas
ModuleNotFoundError: No module named 'pandas'

【问题讨论】:

  • 所以,你的环境中没有 pandas,这与 GNU Radio 无关!
  • 我认为 pandas 在我的环境中。如果我的环境中没有熊猫,我的 .py 流程图(由 GRC 创建的流程图)在激活虚拟环境的情况下从命令行(通过 python3 my_flowgraph.py)调用时如何运行?此外,在虚拟环境停用的情况下,从命令行运行流程图会失败(如预期的那样)。
  • 很抱歉,但这一切都与 GNU Radio 无关,而是您的 virtualenvs 是如何设置的,我无法从这里检查。
  • 我挖了一点,认为我至少可以部分了解为什么在运行 gnuradio-companion 时不使用虚拟环境。 gnuradio-companion 脚本是一个 python 文件,顶部有一个 shebang 行:#!/usr/bin/python3 这不是 VE 解释器的路径。
  • 哦,有趣!

标签: python virtualenv gnuradio gnuradio-companion


【解决方案1】:

您必须意识到这是底层的标准 python。如果您没有从激活的环境中启动 gnuradio-companion,Python 将无法在其中找到模块。这就是虚拟环境的全部理念。

【讨论】:

  • 我在第一次激活虚拟环境后从命令行启动了GRC。
  • 您确定没有找到 Python packages 的问题,而不是其他问题吗?您能否将逐字错误消息添加到您的问题中?
  • 添加到原始问题
猜你喜欢
  • 1970-01-01
  • 2019-09-24
  • 1970-01-01
  • 1970-01-01
  • 2021-11-30
  • 1970-01-01
  • 2013-09-23
  • 2019-12-26
  • 1970-01-01
相关资源
最近更新 更多