conda-incubator / conda-tree

conda dependency tree helper
MIT License
152 stars 12 forks source link

RecursionError: maximum recursion depth exceeded #15

Closed oxyhexagen closed 2 years ago

oxyhexagen commented 2 years ago

Thanks for your amazing work Recently i got this error in the default env(base) which has never happened before I reinstalled serveral time and the networkx version is 2.5 Should i add 'sys.setrecursionlimit(100000)' to a certain file? or how can i fix it?

$ conda-tree deptree --full Traceback (most recent call last): File "/home/UserName/anaconda3/bin/conda-tree", line 10, in sys.exit(main()) File "/home/UserName/anaconda3/lib/python3.8/site-packages/conda_tree.py", line 321, in main tree, state = print_dep_tree(g, pk, None, state) File "/home/UserName/anaconda3/lib/python3.8/site-packages/conda_tree.py", line 134, in print_dep_tree tree_str, state = print_dep_tree(g, pack, pkg, state) File "/home/UserName/anaconda3/lib/python3.8/site-packages/conda_tree.py", line 134, in print_dep_tree tree_str, state = print_dep_tree(g, pack, pkg, state) File "/home/UserName/anaconda3/lib/python3.8/site-packages/conda_tree.py", line 134, in print_dep_tree tree_str, state = print_dep_tree(g, pack, pkg, state) [Previous line repeated 988 more times] File "/home/UserNameanaconda3/lib/python3.8/site-packages/conda_tree.py", line 66, in print_dep_tree edges = g.out_edges(pkg) if down_search else g.in_edges(pkg) File "/home/UserName/anaconda3/lib/python3.8/site-packages/networkx/classes/digraph.py", line 897, in edges return OutEdgeView(self) File "/home/UserName/anaconda3/lib/python3.8/site-packages/networkx/classes/reportviews.py", line 994, in init self._adjdict = G._succ if hasattr(G, "succ") else G._adj File "/home/UserName/anaconda3/lib/python3.8/site-packages/networkx/classes/digraph.py", line 359, in succ return AdjacencyView(self._succ) RecursionError: maximum recursion depth exceeded

rvalieris commented 2 years ago

hello, does deptree (without --full) also given the error ?

please post the result of conda tree cycles

oxyhexagen commented 2 years ago

No, 'conda-tree deptree' works fine

$ conda tree cycles beautifulsoup4 -> soupsieve -> beautifulsoup4

rvalieris commented 2 years ago

beautifulsoup4 -> soupsieve -> beautifulsoup4

yeah thats the problem, deptree --full have exceptions for python cycles, but not for other packages, I need to add exceptions for all packages detected in conda tree cycles

rvalieris commented 2 years ago

I just released a new version with a fix for this. it shouldn't error anymore.

oxyhexagen commented 2 years ago

Thanks a million!