Details
-
Type:
Bug
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: base
-
Labels:None
-
Story Points:0.5
-
Epic Link:
-
Sprint:AP F20-2 (July)
-
Team:Alert Production
-
Urgent?:No
Description
I encountered the below error while building a fresh stack. This is likely due to one of my pip-installed packages pulling in fancycompleter, which has a different kind of version than we are expecting. Tim Jenness suggested forcing a cast to str, which got base to build.
=================================== FAILURES ===================================
|
________________________ PackagesTestCase.testPackages _________________________
|
[gw2] darwin -- Python 3.7.6 /Users/parejkoj/lsst/lsstsw/miniconda/envs/lsst-scipipe-448abc6/bin/python3.7
|
self = <test_packages.PackagesTestCase testMethod=testPackages>
|
def testPackages(self):
|
"""Test the Packages class"""
|
packages = lsst.base.Packages.fromSystem()
|
# Test pickling and YAML
|
new = self._writeTempFile(packages, ".pickle")
|
new_pkl = self._writeTempFile(packages, ".pkl")
|
> new_yaml = self._writeTempFile(packages, ".yaml")
|
tests/test_packages.py:87:
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
tests/test_packages.py:75: in _writeTempFile
|
new = lsst.base.Packages.read(tempName)
|
python/lsst/base/packages.py:329: in read
|
return cls.fromBytes(data, cls.formats[ext])
|
python/lsst/base/packages.py:300: in fromBytes
|
new = yaml.load(data, Loader=yaml.SafeLoader)
|
../../miniconda/envs/lsst-scipipe-448abc6/lib/python3.7/site-packages/yaml/__init__.py:114: in load
|
return loader.get_single_data()
|
../../miniconda/envs/lsst-scipipe-448abc6/lib/python3.7/site-packages/yaml/constructor.py:51: in get_single_data
|
return self.construct_document(node)
|
../../miniconda/envs/lsst-scipipe-448abc6/lib/python3.7/site-packages/yaml/constructor.py:55: in construct_document
|
data = self.construct_object(node)
|
../../miniconda/envs/lsst-scipipe-448abc6/lib/python3.7/site-packages/yaml/constructor.py:105: in construct_object
|
data = next(generator)
|
python/lsst/base/packages.py:474: in pkg_constructor
|
yield Packages(loader.construct_mapping(node, deep=True))
|
../../miniconda/envs/lsst-scipipe-448abc6/lib/python3.7/site-packages/yaml/constructor.py:218: in construct_mapping
|
return super().construct_mapping(node, deep=deep)
|
../../miniconda/envs/lsst-scipipe-448abc6/lib/python3.7/site-packages/yaml/constructor.py:143: in construct_mapping
|
value = self.construct_object(value_node, deep=deep)
|
../../miniconda/envs/lsst-scipipe-448abc6/lib/python3.7/site-packages/yaml/constructor.py:100: in construct_object
|
data = constructor(self, node)
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
self = <yaml.loader.SafeLoader object at 0x1125d7110>
|
node = MappingNode(tag='tag:yaml.org,2002:python/object:fancycompleter.LazyVersion', value=[(ScalarNode(tag='tag:yaml.org,200...calarNode(tag='tag:yaml.org,2002:str', value='pkg'), ScalarNode(tag='tag:yaml.org,2002:str', value='fancycompleter'))])
|
def construct_undefined(self, node):
|
raise ConstructorError(None, None,
|
"could not determine a constructor for the tag %r" % node.tag,
|
> node.start_mark)
|
E yaml.constructor.ConstructorError: could not determine a constructor for the tag 'tag:yaml.org,2002:python/object:fancycompleter.LazyVersion'
|
E in "<byte string>", line 29, column 17:
|
E fancycompleter: !!python/object:fancycompleter.L ...
|
E ^
|
../../miniconda/envs/lsst-scipipe-448abc6/lib/python3.7/site-packages/yaml/constructor.py:429: ConstructorError
|
Looks good. Thanks.