Open
Description
There is a bug in
(
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
- For me,
rez pip -i --python-version 3.9 sphinx-autoapi
afterrez 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'