我正在按照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(由于各种原因,我无法升级)。
任何建议将不胜感激。
答案 0 :(得分:0)
PyBOMBS无法应对ruamel.yaml中的最新更改,其中CommentedMap
和CommentedSeq
不再是dict
和list
的子类,而是抽象基类{{1 }}。 MutableMapping
(来自MutableSequence
)。 PyBombs实际上使用collections.abc
和isinstance()
进行了检查。 dict
。
安装list
的旧版本(<= 0.15.52的任何版本)应该可以,您可以使用ruamel.yaml
与此同时,提交了PR并合并以解决此问题,因此请确保您使用从github检出的最新版本的PyBOMBS运行。
您的pip install 'ruamel.yaml<=0.15.52'
可能已被截断,因此请确保您还原/重新生成该{1>}。