automl / neps

Neural Pipeline Search (NePS): Helps deep learning experts find the best neural pipeline.
https://automl.github.io/neps/
Apache License 2.0
54 stars 13 forks source link

poetry add neural-pipeline-search yields the maximum recursion depth error #12

Open nabenabe0928 opened 1 year ago

nabenabe0928 commented 1 year ago
$ poetry add neural-pipeline-search==0.8.3

Outcome:

maximum recursion depth exceeded while calling a Python object

I have no clue. But at least, pip install works.

nabenabe0928 commented 1 year ago
 Stack trace:

  4  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/puzzle/solver.py:155 in _solve
      153│ 
      154│         try:
    → 155│             result = resolve_version(self._package, self._provider)
      156│ 
      157│             packages = result.packages

  3  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/mixology/__init__.py:18 in resolve_version
       16│     solver = VersionSolver(root, provider)
       17│ 
    →  18│     return solver.solve()
       19│ 

  2  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/mixology/version_solver.py:112 in solve
      110│             while next is not None:
      111│                 self._propagate(next)
    → 112│                 next = self._choose_package_version()
      113│ 
      114│             return self._result()

  1  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/mixology/version_solver.py:430 in _choose_package_version
      428│             package = locked
      429│ 
    → 430│         package = self._provider.complete_package(package)
      431│ 
      432│         conflict = False

  OverrideNeeded

  ({Package('pandas', '1.3.5'): {'numpy': <Dependency numpy (>=1.17.3)>}}, {Package('pandas', '1.3.5'): {'numpy': <Dependency numpy (>=1.19.2)>}}, {Package('pandas', '1.3.5'): {'numpy': <Dependency numpy (>=1.20.0)>}}, {Package('pandas', '1.3.5'): {'numpy': <Dependency numpy (>=1.21.0)>}})

  at ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/puzzle/provider.py:691 in complete_package
      687│                     current_overrides.update({dependency_package: package_overrides})
      688│                     overrides.append(current_overrides)
      689│ 
      690│             if overrides:
    → 691│                 raise OverrideNeeded(*overrides)
      692│ 
      693│         # Modifying dependencies as needed
      694│         clean_dependencies = []
      695│         for dep in dependencies:

The following error occurred when trying to handle this error:

  Stack trace:

  998  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/cleo/application.py:327 in run
        325│ 
        326│             try:
      → 327│                 exit_code = self._run(io)
        328│             except BrokenPipeError:
        329│                 # If we are piped to another process, it may close early and send a

  997  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/console/application.py:190 in _run
        188│         self._load_plugins(io)
        189│ 
      → 190│         exit_code: int = super()._run(io)
        191│         return exit_code
        192│ 

  996  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/cleo/application.py:431 in _run
        429│             io.input.interactive(interactive)
        430│ 
      → 431│         exit_code = self._run_command(command, io)
        432│         self._running_command = None
        433│ 

  995  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/cleo/application.py:473 in _run_command
        471│ 
        472│         if error is not None:
      → 473│             raise error
        474│ 
        475│         return terminate_event.exit_code

  994  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/cleo/application.py:457 in _run_command
        455│ 
        456│             if command_event.command_should_run():
      → 457│                 exit_code = command.run(io)
        458│             else:
        459│                 exit_code = ConsoleCommandEvent.RETURN_CODE_DISABLED

  993  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/cleo/commands/base_command.py:119 in run
        117│         io.input.validate()
        118│ 
      → 119│         status_code = self.execute(io)
        120│ 
        121│         if status_code is None:

  992  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/cleo/commands/command.py:62 in execute
         60│ 
         61│         try:
      →  62│             return self.handle()
         63│         except KeyboardInterrupt:
         64│             return 1

  991  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/console/commands/add.py:271 in handle
        269│         self.installer.whitelist([r["name"] for r in requirements])
        270│ 
      → 271│         status = self.installer.run()
        272│ 
        273│         if status == 0 and not self.option("dry-run"):

  990  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/installation/installer.py:104 in run
        102│             self.verbose(True)
        103│ 
      → 104│         return self._do_install()
        105│ 
        106│     def dry_run(self, dry_run: bool = True) -> Installer:

  989  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/installation/installer.py:241 in _do_install
        239│                 source_root=self._env.path.joinpath("src")
        240│             ):
      → 241│                 ops = solver.solve(use_latest=self._whitelist).calculate_operations()
        242│         else:
        243│             self._io.write_line("Installing dependencies from lock file")

  988  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/puzzle/solver.py:72 in solve
         70│         with self._progress(), self._provider.use_latest_for(use_latest or []):
         71│             start = time.time()
      →  72│             packages, depths = self._solve()
         73│             end = time.time()
         74│ 

  987  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/puzzle/solver.py:159 in _solve
        157│             packages = result.packages
        158│         except OverrideNeeded as e:
      → 159│             return self._solve_in_compatibility_mode(e.overrides)
        160│         except SolveFailure as e:
        161│             raise SolverProblemError(e)

  986  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/puzzle/solver.py:133 in _solve_in_compatibility_mode
        131│             )
        132│             self._provider.set_overrides(override)
      → 133│             _packages, _depths = self._solve()
        134│             for index, package in enumerate(_packages):
        135│                 if package not in packages:

  985  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/puzzle/solver.py:155 in _solve
        153│ 
        154│         try:
      → 155│             result = resolve_version(self._package, self._provider)
        156│ 
        157│             packages = result.packages

  984  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/mixology/__init__.py:18 in resolve_version
         16│     solver = VersionSolver(root, provider)
         17│ 
      →  18│     return solver.solve()
         19│ 

  983  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/mixology/version_solver.py:112 in solve
        110│             while next is not None:
        111│                 self._propagate(next)
      → 112│                 next = self._choose_package_version()
        113│ 
        114│             return self._result()

  982  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/mixology/version_solver.py:430 in _choose_package_version
        428│             package = locked
        429│ 
      → 430│         package = self._provider.complete_package(package)
        431│ 
        432│         conflict = False

  981  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/puzzle/provider.py:681 in complete_package
        679│                     )
        680│             for dep in deps:
      → 681│                 if not overrides_marker_intersection.intersect(dep.marker).is_empty():
        682│                     current_overrides = self._overrides.copy()
        683│                     package_overrides = current_overrides.get(

  980  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/core/version/markers.py:564 in intersect
         562│ 
         563│     def intersect(self, other: BaseMarker) -> BaseMarker:
      →  564│         return intersection(self, other)
         565│ 
         566│     def union(self, other: BaseMarker) -> BaseMarker:

  979  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/core/version/markers.py:934 in intersection
         932│ 
         933│ def intersection(*markers: BaseMarker) -> BaseMarker:
      →  934│     return dnf(MultiMarker(*markers))
         935│ 
         936│ 

  978  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/core/version/markers.py:923 in dnf
         921│             m.markers if isinstance(m, MarkerUnion) else [m] for m in dnf_markers
         922│         ]
      →  923│         return MarkerUnion.of(
         924│             *[MultiMarker.of(*c) for c in itertools.product(*sub_marker_lists)]
         925│         )

  977  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/core/version/markers.py:712 in of
         710│                     # implemented in union_simplify().
         711│                     elif isinstance(mark, MultiMarker):
      →  712│                         union = mark.union_simplify(marker)
         713│                         if union is not None:
         714│                             new_markers[i] = union

  976  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/core/version/markers.py:601 in union_simplify
         599│             unique_markers = our_markers - their_markers
         600│             other_unique_markers = their_markers - our_markers
      →  601│             unique_union = MultiMarker(*unique_markers).union(
         602│                 MultiMarker(*other_unique_markers)
         603│             )

  975  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/core/version/markers.py:567 in union
         565│ 
         566│     def union(self, other: BaseMarker) -> BaseMarker:
      →  567│         return union(self, other)
         568│ 
         569│     def union_simplify(self, other: BaseMarker) -> BaseMarker | None:

  974  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/core/version/markers.py:947 in union
         945│         unnormalized = unnormalized.markers[0]
         946│ 
      →  947│     conjunction = cnf(unnormalized)
         948│     if not isinstance(conjunction, MultiMarker):
         949│         return conjunction

  973  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/core/version/markers.py:907 in cnf
         905│         ]
         906│         return MultiMarker.of(
      →  907│             *[MarkerUnion.of(*c) for c in itertools.product(*sub_marker_lists)]
         908│         )
         909│ 

  972  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/core/version/markers.py:907 in <listcomp>
         905│         ]
         906│         return MultiMarker.of(
      →  907│             *[MarkerUnion.of(*c) for c in itertools.product(*sub_marker_lists)]
         908│         )
         909│ 

  971  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/core/version/markers.py:700 in of
         698│                     # become another SingleMarker.
         699│                     if isinstance(mark, SingleMarkerLike):
      →  700│                         new_marker = mark.union(marker)
         701│                         if new_marker.is_any():
         702│                             return AnyMarker()

  970  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/core/version/markers.py:274 in union
         272│     def union(self, other: BaseMarker) -> BaseMarker:
         273│         if isinstance(other, SingleMarkerLike):
      →  274│             merged = _merge_single_markers(self, other, MarkerUnion)
         275│             if merged is not None:
         276│                 return merged

  969  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/core/version/markers.py:977 in _merge_single_markers
         975│     # Markers with the same name have the same constraint type,
         976│     # but mypy can't see that.
      →  977│     result_constraint = merge_method(marker2.constraint)  # type: ignore[arg-type]
         978│ 
         979│     result_marker: BaseMarker | None = None

  ...  Previous frame repeated 966 times

    2  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/core/constraints/generic/multi_constraint.py:94 in union
         92│     def union(self, other: BaseConstraint) -> BaseConstraint:
         93│         if not isinstance(other, Constraint):
      →  94│             return other.union(self)
         95│ 
         96│         if other in self._constraints:

    1  ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/core/constraints/generic/multi_constraint.py:94 in union
         92│     def union(self, other: BaseConstraint) -> BaseConstraint:
         93│         if not isinstance(other, Constraint):
      →  94│             return other.union(self)
         95│ 
         96│         if other in self._constraints:

  RecursionError

  maximum recursion depth exceeded while calling a Python object

  at ~/.local/share/pypoetry/venv/lib/python3.9/site-packages/poetry/core/constraints/generic/multi_constraint.py:93 in union
       89│ 
       90│         return MultiConstraint(*self._constraints, other)
       91│ 
       92│     def union(self, other: BaseConstraint) -> BaseConstraint:
    →  93│         if not isinstance(other, Constraint):
       94│             return other.union(self)
       95│ 
       96│         if other in self._constraints:
       97│             return other