question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

conda-forge feedstock failure

See original GitHub issue

@pfebrer why does this happen?

2022-02-08T13:50:40.7448781Z =================================== FAILURES ===================================
2022-02-08T13:50:40.7455605Z ____________________ TestMultiplePlot.test_update_settings _____________________
2022-02-08T13:50:40.7461345Z 
2022-02-08T13:50:40.7466890Z self = <sisl.viz.tests.test_plot.TestMultiplePlot object at 0x7f49bd0c4cd0>
2022-02-08T13:50:40.7472305Z 
2022-02-08T13:50:40.7493175Z     def test_update_settings(self):
2022-02-08T13:50:40.7493969Z     
2022-02-08T13:50:40.7494538Z         kw = MultiplePlot._kw_from_cls(self._cls)
2022-02-08T13:50:40.7555365Z     
2022-02-08T13:50:40.7556384Z         geom = sisl.geom.graphene()
2022-02-08T13:50:40.7557273Z         show_cell = ["box", False, False]
2022-02-08T13:50:40.7557856Z     
2022-02-08T13:50:40.7558543Z         multiple_plot = geom.plot(show_cell=show_cell, backend=None, axes=[0, 1], **{kw: "show_cell"})
2022-02-08T13:50:40.7559326Z         assert len(multiple_plot.children) == 3
2022-02-08T13:50:40.7559900Z     
2022-02-08T13:50:40.7560479Z         for i, show_cell_val in enumerate(show_cell):
2022-02-08T13:50:40.7561183Z >           assert multiple_plot[i]._for_backend["show_cell"] == show_cell_val
2022-02-08T13:50:40.7561686Z 
2022-02-08T13:50:40.7563662Z ../_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.10/site-packages/sisl/viz/tests/test_plot.py:183: 
2022-02-08T13:50:40.7564915Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2022-02-08T13:50:40.7565371Z 
2022-02-08T13:50:40.7566010Z self = <sisl.viz.plots.geometry.GeometryPlot object at 0x7f49bd082e60>
2022-02-08T13:50:40.7566878Z key = '_for_backend'
2022-02-08T13:50:40.7567295Z 
2022-02-08T13:50:40.7567841Z     def __getattr__(self, key):
2022-02-08T13:50:40.7568777Z         """ This method is executed only after python has found that there is no such attribute in the instance
2022-02-08T13:50:40.7569470Z     
2022-02-08T13:50:40.7570296Z         So let's try to find it elsewhere. There are two options:
2022-02-08T13:50:40.7571305Z             - The attribute is in the backend object (self._backend)
2022-02-08T13:50:40.7572311Z             - The attribute is currently being shared with other plots (only possible if it's a childplot)
2022-02-08T13:50:40.7572957Z         """
2022-02-08T13:50:40.7573534Z         if key in ["_backend", "_get_shared_attr"]:
2022-02-08T13:50:40.7574079Z             pass
2022-02-08T13:50:40.7574855Z         elif hasattr(self, "_backend") and hasattr(self._backend, key):
2022-02-08T13:50:40.7575559Z             return getattr(self._backend, key)
2022-02-08T13:50:40.7576118Z         else:
2022-02-08T13:50:40.7576816Z             #If it is a childPlot, maybe the attribute is in the shared storage to save memory and time
2022-02-08T13:50:40.7577505Z             try:
2022-02-08T13:50:40.7578064Z                 return self._get_shared_attr(key)
2022-02-08T13:50:40.7578701Z             except (KeyError, AttributeError):
2022-02-08T13:50:40.7579258Z                 pass
2022-02-08T13:50:40.7579757Z     
2022-02-08T13:50:40.7580750Z >       raise AttributeError(f"The attribute '{key}' was not found either in the plot, its backend, or in shared attributes.")
2022-02-08T13:50:40.7583126Z E       AttributeError: The attribute '_for_backend' was not found either in the plot, its backend, or in shared attributes.
2022-02-08T13:50:40.7583743Z 
2022-02-08T13:50:40.7585107Z ../_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.10/site-packages/sisl/viz/plot.py:727: AttributeError
2022-02-08T13:50:40.7586312Z ______________________ TestSubPlots.test_update_settings _______________________
2022-02-08T13:50:40.7586699Z 
2022-02-08T13:50:40.7587146Z self = <sisl.viz.tests.test_plot.TestSubPlots object at 0x7f49bd0c5750>
2022-02-08T13:50:40.7587485Z 
2022-02-08T13:50:40.7587873Z     def test_update_settings(self):
2022-02-08T13:50:40.7588264Z     
2022-02-08T13:50:40.7588659Z         kw = MultiplePlot._kw_from_cls(self._cls)
2022-02-08T13:50:40.7589072Z     
2022-02-08T13:50:40.7589435Z         geom = sisl.geom.graphene()
2022-02-08T13:50:40.7589906Z         show_cell = ["box", False, False]
2022-02-08T13:50:40.7590453Z     
2022-02-08T13:50:40.7590980Z         multiple_plot = geom.plot(show_cell=show_cell, backend=None, axes=[0, 1], **{kw: "show_cell"})
2022-02-08T13:50:40.7592132Z         assert len(multiple_plot.children) == 3
2022-02-08T13:50:40.7592587Z     
2022-02-08T13:50:40.7593220Z         for i, show_cell_val in enumerate(show_cell):
2022-02-08T13:50:40.7593794Z >           assert multiple_plot[i]._for_backend["show_cell"] == show_cell_val
2022-02-08T13:50:40.7594146Z 
2022-02-08T13:50:40.7595574Z ../_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.10/site-packages/sisl/viz/tests/test_plot.py:183: 
2022-02-08T13:50:40.7598509Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2022-02-08T13:50:40.7598929Z 
2022-02-08T13:50:40.7599433Z self = <sisl.viz.plots.geometry.GeometryPlot object at 0x7f49aa720370>
2022-02-08T13:50:40.7600186Z key = '_for_backend'
2022-02-08T13:50:40.7600486Z 
2022-02-08T13:50:40.7600883Z     def __getattr__(self, key):
2022-02-08T13:50:40.7601490Z         """ This method is executed only after python has found that there is no such attribute in the instance
2022-02-08T13:50:40.7602035Z     
2022-02-08T13:50:40.7603082Z         So let's try to find it elsewhere. There are two options:
2022-02-08T13:50:40.7603978Z             - The attribute is in the backend object (self._backend)
2022-02-08T13:50:40.7605101Z             - The attribute is currently being shared with other plots (only possible if it's a childplot)
2022-02-08T13:50:40.7605683Z         """
2022-02-08T13:50:40.7606110Z         if key in ["_backend", "_get_shared_attr"]:
2022-02-08T13:50:40.7606902Z             pass
2022-02-08T13:50:40.7607418Z         elif hasattr(self, "_backend") and hasattr(self._backend, key):
2022-02-08T13:50:40.7607983Z             return getattr(self._backend, key)
2022-02-08T13:50:40.7608418Z         else:
2022-02-08T13:50:40.7608961Z             #If it is a childPlot, maybe the attribute is in the shared storage to save memory and time
2022-02-08T13:50:40.7609492Z             try:
2022-02-08T13:50:40.7609996Z                 return self._get_shared_attr(key)
2022-02-08T13:50:40.7610511Z             except (KeyError, AttributeError):
2022-02-08T13:50:40.7610943Z                 pass
2022-02-08T13:50:40.7611310Z     
2022-02-08T13:50:40.7612192Z >       raise AttributeError(f"The attribute '{key}' was not found either in the plot, its backend, or in shared attributes.")
2022-02-08T13:50:40.7613318Z E       AttributeError: The attribute '_for_backend' was not found either in the plot, its backend, or in shared attributes.

I don’t know why these happen?

And weirdly enough, this only happens on python: 3.10, see here: https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=455703&view=logs&j=9a864fd9-6c8f-52ca-79ce-2aa6dca1a1de

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:27 (27 by maintainers)

github_iconTop GitHub Comments

1reaction
zerothicommented, Feb 8, 2022

Yes sure I understand what’s the problem now, but in the future it might be better to be more cautious and do a prerelease. Even if it’s minimal, a linux user downloading 0.12.0 from pip and using python 3.10 will not be able to use some parts of the sisl.viz module, while if the same user has downloaded it from conda it would not have any problems. That adds an extra variable to debugging users issues 😃

I agree, however I also don’t want to spend too much time on something I believe won’t be a problem. Sisl is still not stable and thus doing all kinds of things might be too much…

By the way:

Screenshot from 2022-02-08 15-50-13

you did the same here, right? Why not just publish 0.11.1?

No that was something different. When some build options changes on conda side one can create new releases of the same version, say to accommodate new python versions. Then you bump the build number, as in this case. So an entirely different purpose in that case.

1reaction
zerothicommented, Feb 8, 2022

Its going through now! 😃 Great!

Read more comments on GitHub >

github_iconTop Results From Across the Web

conda-forge/conda-feedstock: A conda-smithy repository for ...
conda -forge is a community-led conda channel of installable packages. In order to provide high-quality builds, the process has been automated into the...
Read more >
Maintaining packages - Conda-Forge
All maintainers are given push access to the feedstocks that they maintain. This means that a maintainer can create branches in the main...
Read more >
conda-forge feedstocks | community driven packaging for conda
packages on conda-forge · ppmac: ppmac-feedstock · pprofile: pprofile-feedstock · pprintpp: pprintpp-feedstock · ppft: ppft-feedstock · ppci: ppci-feedstock · ppl: ...
Read more >
FAQ — conda-forge 2022.12.21 documentation
A feedstock is generally considered abandoned when the maintainer isn't around anymore and doesn't merge new PRs or answer any issues. If that...
Read more >
FAQ — conda-forge 2022.12.16 documentation
(Q) A package from conda-forge is outdated or broken, where can I report the issue? You can open an issue in the packages...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found