# the rest...
[tool.poetry.dev-dependencies]
black = {version = "^25", allow-prereleases = true}
If a user tries to install a package version that doesn't exist, do we need to show them a stack trace of poetry?
invoke setup
** Upgrade pip.
Requirement already satisfied: pip in e:\code\jinja-filters\.venv-unidecode\lib\site-packages (21.1)
** Install jinja_filters for development using poetry.
Installing dependencies from lock file
Warning: The lock file is not up to date with the latest changes in pyproject.toml. You may be getting outdated dependencies. Run update to update them.
SolverProblemError
Because pelican-jinja-filters depends on black (^25) which doesn't match any versions, version solving failed.
at c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\poetry\puzzle\solver.py:241 in _solve
Traceback (most recent call last):
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\poetry\puzzle\solver.py", line 233, in _solve
result = resolve_version(
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\poetry\mixology\__init__.py", line 7, in resolve_version
return solver.solve()
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\poetry\mixology\version_solver.py", line 83, in solve
self._propagate(next)
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\poetry\mixology\version_solver.py", line 123, in _propagate
root_cause = self._resolve_conflict(incompatibility)
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\poetry\mixology\version_solver.py", line 321, in _resolve_conflict
raise SolveFailure(incompatibility)
poetry.mixology.failure.SolveFailure: Because pelican-jinja-filters depends on black (^25) which doesn't match any versions, version solving failed.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\clikit\console_application.py", line 131, in run
status_code = command.handle(parsed_args, io)
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\clikit\api\command\command.py", line 120, in handle
status_code = self._do_handle(args, io)
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\clikit\api\command\command.py", line 171, in _do_handle
return getattr(handler, handler_method)(args, io, self)
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\cleo\commands\command.py", line 92, in wrap_handle
return self.handle()
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\poetry\console\commands\install.py", line 71, in handle
return_code = self._installer.run()
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\poetry\installation\installer.py", line 103, in run
return self._do_install(local_repo)
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\poetry\installation\installer.py", line 305, in _do_install
ops = solver.solve(use_latest=self._whitelist)
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\poetry\puzzle\solver.py", line 65, in solve
packages, depths = self._solve(use_latest=use_latest)
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\poetry\puzzle\solver.py", line 241, in _solve
raise SolverProblemError(e)
poetry.puzzle.exceptions.SolverProblemError: Because pelican-jinja-filters depends on black (^25) which doesn't match any versions, version solving failed.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\python39\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\python39\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\William\.local\bin\poetry.exe\__main__.py", line 7, in <module>
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\poetry\console\__init__.py", line 5, in main
return Application().run()
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\clikit\console_application.py", line 142, in run
trace.render(io, simple=isinstance(e, CliKitException))
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\clikit\ui\components\exception_trace.py", line 232, in render
return self._render_exception(io, self._exception)
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\clikit\ui\components\exception_trace.py", line 269, in _render_exception
self._render_snippet(io, current_frame)
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\clikit\ui\components\exception_trace.py", line 289, in _render_snippet
self._render_line(io, code_line)
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\clikit\ui\components\exception_trace.py", line 402, in _render_line
io.write_line("{}{}".format(indent * " ", line))
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\cleo\io\io_mixin.py", line 65, in write_line
super(IOMixin, self).write_line(string, flags)
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\clikit\api\io\io.py", line 66, in write_line
self._output.write_line(string, flags=flags)
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\clikit\api\io\output.py", line 69, in write_line
self.write(string, flags=flags, new_line=True)
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\clikit\api\io\output.py", line 61, in write
self._stream.write(to_str(formatted))
File "c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\clikit\io\output_stream\stream_output_stream.py", line 24, in write
self._stream.write(string)
File "c:\python39\lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2502' in position 9: character maps to <undefined>
poetry install
Installing dependencies from lock file
Warning: The lock file is not up to date with the latest changes in pyproject.toml. You may be getting outdated dependencies. Run update to update them.
SolverProblemError
Because pelican-jinja-filters depends on black (^25) which doesn't match any versions, version solving failed.
at c:\users\william\.local\pipx\venvs\poetry\lib\site-packages\poetry\puzzle\solver.py:241 in _solve
237│ packages = result.packages
238│ except OverrideNeeded as e:
239│ return self.solve_in_compatibility_mode(e.overrides, use_latest=use_latest)
240│ except SolveFailure as e:
→ 241│ raise SolverProblemError(e)
242│
243│ results = dict(
244│ depth_first_search(
245│ PackageNode(self._package, packages), aggregate_package_nodes
I spent the morning running in circles between poetry, clikit, cloe, invoke, and unidecode, with random dives into the standard library and Windows code pages. One of those pieces has decided that my terminal, on redirection, only supports ASCII code points, but inelegantly.
I think the last is probably the easiest to implement. Thanks for your help!
-vvvoption).Issue
If a user tries to install a package version that doesn't exist, do we need to show them a stack trace of poetry?
At a minimum, could it be hidden behind a "verbose" flag?
My particular issue is this:
ctx.run(f"{POETRY} install")(wherePOETRYpoints to either the system or virtual environment as appropriate)(
\u2502is the vertical bar on the stack trace.)If I run poetry directly, I get a much shorter error:
I spent the morning running in circles between poetry, clikit, cloe, invoke, and unidecode, with random dives into the standard library and Windows code pages. One of those pieces has decided that my terminal, on redirection, only supports ASCII code points, but inelegantly.
I see a few solutions:
Because pelican-jinja-filters depends on black (^25) which doesn't match any versions, version solving failed.) is enough for most end users?I think the last is probably the easiest to implement. Thanks for your help!