使用 PyBOMBS 安装 GNU Radio



我正在按照 https://github.com/gnuradio/pybombs 上的安装说明进行操作。

我收到以下错误消息:

→ sudo -H pybombs prefix init ~/prefix -a myprefix -R gnuradio-default
PyBOMBS.ConfigManager - INFO - Prefix Python version is: 2.7.6
PyBOMBS - INFO - PyBOMBS Version 2.3.3a0
PyBOMBS.prefix - WARNING - There already is a prefix in `~/prefix'.
Continue using this path Y/[N]? y
PyBOMBS.ConfigManager - INFO - Prefix Python version is: 2.7.6
Alias `myprefix' already exists, overwrite Y/[N]? y
PyBOMBS.ConfigManager - INFO - Prefix Python version is: 2.7.6
PyBOMBS.prefix - INFO - Installing default packages for prefix...
PyBOMBS.prefix - INFO -
- <ruamel.yaml.comments.CommentedSeq object at 0x7f3891d44d20>
- <ruamel.yaml.comments.CommentedSeq object at 0x7f3891d44d70>
PyBOMBS.install_manager - INFO - Phase 1: Creating install tree and installing binary packages:
PyBOMBS.get_recipe - ERROR - Error fetching recipe `<ruamel.yaml.comments.CommentedSeq object at 0x7f3891d44d20>':
Package <ruamel.yaml.comments.CommentedSeq object at 0x7f3891d44d20> has no recipe file!

这似乎是使用ruamel.yamel的不匹配。重新安装 ruamel.yamel 并不能解决这个问题:

→ sudo -H pip install --upgrade --force-reinstall ruamel.yaml
Collecting ruamel.yaml
Downloading https://files.pythonhosted.org/packages/3c/bf/6be7b1510270d785ca53193d06ba64c2f2bd969db732d108e2a82cbc9a0e/ruamel.yaml-0.15.57-cp27-cp27mu-manylinux1_x86_64.whl (590kB)
Collecting ruamel.ordereddict; platform_python_implementation == "CPython" and python_version <= "2.7" (from ruamel.yaml)
Using cached https://files.pythonhosted.org/packages/f3/2c/fa6d75dc459b371ed3b88fdbf8042785ce1655073c884fd97bdbb9f48e01/ruamel.ordereddict-0.4.13-cp27-cp27mu-manylinux1_x86_64.whl
Installing collected packages: ruamel.ordereddict, ruamel.yaml
Found existing installation: ruamel.ordereddict 0.4.13
Uninstalling ruamel.ordereddict-0.4.13:
Successfully uninstalled ruamel.ordereddict-0.4.13
Found existing installation: ruamel.yaml 0.15.55
Uninstalling ruamel.yaml-0.15.55:
Successfully uninstalled ruamel.yaml-0.15.55
Successfully installed ruamel.ordereddict-0.4.13 ruamel.yaml-0.15.57

我使用 Ubuntu 14.04.4 LTS(由于各种原因我无法升级(。

任何建议将不胜感激。

PyBOMBS 无法应对 ruamel.yaml 的最新变化,其中CommentedMapCommentedSeq不再是dictresplist的子类,而是抽象基类MutableMappingresp 的子类。MutableSequence(从collections.abc开始(。PyBombs实际上使用isinstance()检查了dictlist.

安装旧版本的ruamel.yaml(任何<= 0.15.52(应该可以工作,您可以使用pip install 'ruamel.yaml<=0.15.52'

同时提交 PR 并合并以解决此问题,因此请确保您使用从 github 签出的最新版本的 PyBOMBS 运行。

您的config.yml很可能被截断了,因此请确保还原/重新生成该。

最新更新