Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-25922

Ensure getVersionFromPythonModule() returns a string

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: base
    • Labels:
      None
    • Story Points:
      0.5
    • 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
      

        Attachments

          Activity

          Hide
          tjenness Tim Jenness added a comment -

          Looks good. Thanks.

          Show
          tjenness Tim Jenness added a comment - Looks good. Thanks.

            People

            Assignee:
            Parejkoj John Parejko
            Reporter:
            Parejkoj John Parejko
            Reviewers:
            Tim Jenness
            Watchers:
            John Parejko, Tim Jenness
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Jenkins

                No builds found.