Skip to content

rezplugins\package_repository\filesystem.py failing on Windows when looking for a package family with mismatching case. #1931

Open
@herronelou

Description

@herronelou

There is a bug in
(

# find or create the package family
)

On Windows, for which paths are not case sensitive, if a package family has changed casing for a reason or another (in my case, Babel became babel in some dependencies from pip, still trying to figure out if that's expected), get_package_family returns None, as expected, however, _create_family also returns None, causing an AttributeError to happen further down.

Environment

  • Windows 10
  • Rez 3.2.1

To Reproduce

  1. For me, rez pip -i --python-version 3.9 sphinx-autoapi after rez pip -i --python-version 3.7 sphinx-autoapi

Expected behavior
I think I would expect an error to happen still - rez packages are case sensitive - but a more explicit error message.

Actual behavior
It fails without a clear error message:

Traceback (most recent call last):
  File "\\la-toolsd\tools\pipeline\packages\_rez_install\3.2.1\platform-windows\lib\site-packages\rez\cli\_main.py", line 189, in run
    returncode = run_cmd()
  File "\\la-toolsd\tools\pipeline\packages\_rez_install\3.2.1\platform-windows\lib\site-packages\rez\cli\_main.py", line 181, in run_cmd
    return func(opts, opts.parser, extra_arg_groups)
  File "\\la-toolsd\tools\pipeline\packages\_rez_install\3.2.1\platform-windows\lib\site-packages\rez\cli\pip.py", line 52, in command
    pip_install_package(
  File "\\la-toolsd\tools\pipeline\packages\_rez_install\3.2.1\platform-windows\lib\site-packages\rez\pip.py", line 459, in pip_install_package
    pkg.authors = [author]
  File "\\craftyapes.local\tools\pipeline\packages\py_libs_ext\python\3.9.13\platform-windows\arch-AMD64\bin\lib\contextlib.py", line 126, in __exit__
    next(self.gen)
  File "\\la-toolsd\tools\pipeline\packages\_rez_install\3.2.1\platform-windows\lib\site-packages\rez\package_maker.py", line 205, in make_package
    variant_ = variant.install(path, dry_run=True)
  File "\\la-toolsd\tools\pipeline\packages\_rez_install\3.2.1\platform-windows\lib\site-packages\rez\packages.py", line 455, in install
    resource = repo.install_variant(self.resource,
  File "\\la-toolsd\tools\pipeline\packages\_rez_install\3.2.1\platform-windows\lib\site-packages\rezplugins\package_repository\filesystem.py", line 951, in install_variant
    variant = _create_variant()
  File "\\la-toolsd\tools\pipeline\packages\_rez_install\3.2.1\platform-windows\lib\site-packages\rezplugins\package_repository\filesystem.py", line 944, in _create_variant
    return self._create_variant(
  File "\\la-toolsd\tools\pipeline\packages\_rez_install\3.2.1\platform-windows\lib\site-packages\rezplugins\package_repository\filesystem.py", line 1231, in _create_variant
    for package in self.iter_packages(family):
  File "\\la-toolsd\tools\pipeline\packages\_rez_install\3.2.1\platform-windows\lib\site-packages\rez\utils\memcached.py", line 257, in wrapper
    for result in func(*nargs, **kwargs):
  File "\\la-toolsd\tools\pipeline\packages\_rez_install\3.2.1\platform-windows\lib\site-packages\rezplugins\package_repository\filesystem.py", line 570, in iter_packages
    for package in self.get_packages(package_family_resource):
  File "\\la-toolsd\tools\pipeline\packages\_rez_install\3.2.1\platform-windows\lib\site-packages\rezplugins\package_repository\filesystem.py", line 1181, in _get_packages
    return [x for x in package_family_resource.iter_packages()]
AttributeError: 'NoneType' object has no attribute 'iter_packages'

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions