使用PyBOMBS安装GNU Radio

时间:2018-08-16 11:00:18

标签: gnuradio ruamel.yaml

我正在按照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(由于各种原因,我无法升级)。

任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

PyBOMBS无法应对ruamel.yaml中的最新更改,其中CommentedMapCommentedSeq不再是dictlist的子类,而是抽象基类{{1 }}。 MutableMapping(来自MutableSequence)。 PyBombs实际上使用collections.abcisinstance()进行了检查。 dict

安装list的旧版本(<= 0.15.52的任何版本)应该可以,您可以使用ruamel.yaml

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

您的pip install 'ruamel.yaml<=0.15.52'可能已被截断,因此请确保您还原/重新生成该{}。