I was thinking about adding this to the discussion in #4155 but it quickly expanded in scope so I decided to open a new issue.
We ran into problems with requiring an older py-setuptools when installing e.g. py-flake8. The restriction was introduced by me in #3757. However I'm not really sure whether that approach ever actually solved the problem...
Removing the restriction in py-backports-shutil-get-terminal-size/package.py (i.e. building with py-setuptools@35.0.2) still gives a useable ipython (spack load -r py-ipython && ipython does not fail to start).
There are a number of issues that I suspect relate to this #7001, #5908, #4154, and I suspect I didn't find all of them.
My current understanding, inferred from reading multiple discussion around problems with different failure points, is that the problem comes up if you have multiple namespace packages installed and the first one you are looking at is not the one you are looking for. I think this is the reason why a ipython-only install works (although I have as of now been unable to break it).
My current proposal would be to revert #3757 as it does not seem to do us much good. The larger problem though is still unsolved. One point where this breakage can be observed would be py-flake8 a spack load -r py-flake8 && flake8 fails with ImportError: No module named backports.configparser and even though @adamjstewart put it in the documentation it's still an unsatifying state.
My problem is that I don't really know where to start digging as I feel quite out of my depth here. As we are only using views anyway, this does not really seem to break anything in production, but that seems to be due to some backports-package doing the right thing and the others being able to piggy back, with me having no idea which ones we can't remove from our views.
Pinging for comments/ideas: @adamjstewart @scheibelp @luigi-calori @hartzell @lee218llnl @grondo all of you ran into similar problems
I was thinking about adding this to the discussion in #4155 but it quickly expanded in scope so I decided to open a new issue.
We ran into problems with requiring an older
py-setuptoolswhen installing e.g.py-flake8. The restriction was introduced by me in #3757. However I'm not really sure whether that approach ever actually solved the problem...Removing the restriction in
py-backports-shutil-get-terminal-size/package.py(i.e. building withpy-setuptools@35.0.2) still gives a useableipython(spack load -r py-ipython && ipythondoes not fail to start).There are a number of issues that I suspect relate to this #7001, #5908, #4154, and I suspect I didn't find all of them.
My current understanding, inferred from reading multiple discussion around problems with different failure points, is that the problem comes up if you have multiple namespace packages installed and the first one you are looking at is not the one you are looking for. I think this is the reason why a ipython-only install works (although I have as of now been unable to break it).
My current proposal would be to revert #3757 as it does not seem to do us much good. The larger problem though is still unsolved. One point where this breakage can be observed would be
py-flake8aspack load -r py-flake8 && flake8fails withImportError: No module named backports.configparserand even though @adamjstewart put it in the documentation it's still an unsatifying state.My problem is that I don't really know where to start digging as I feel quite out of my depth here. As we are only using
views anyway, this does not really seem to break anything in production, but that seems to be due to somebackports-package doing the right thing and the others being able to piggy back, with me having no idea which ones we can't remove from our views.Pinging for comments/ideas: @adamjstewart @scheibelp @luigi-calori @hartzell @lee218llnl @grondo all of you ran into similar problems