poetry icon indicating copy to clipboard operation
poetry copied to clipboard

I installed v2 poetry to a different folder and now the old install doesn't work

Open developer992 opened this issue 7 months ago • 4 comments

Issue Kind

Unclear documentation

Existing Link

https://python-poetry.org/docs/

Description

windows 11:

i have poetry v1.8.x in ~\AppData\Roaming\pypoetry\venv\Scripts

But there is also .exe here: ~\AppData\Roaming\Python\Scripts

I have installed v2 here. C:\Program Files\pypoetry\v2\bin

and this works now:

>C:\Program Files\pypoetry\v2\bin\poetry.exe' --version
Poetry (version 2.1.3)

But the old one doesn't work anymore:

PS> ~\AppData\Roaming\pypoetry\venv\Scripts\poetry.exe --version
Traceback (most recent call last):
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\requests\compat.py", line 11, in <module>
    import chardet
ModuleNotFoundError: No module named 'chardet'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\cleo\application.py", line 327, in run
    exit_code = self._run(io)
                ^^^^^^^^^^^^^
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\console\application.py", line 188, in _run
    self._load_plugins(io)
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\console\application.py", line 354, in _load_plugins
    manager.load_plugins()
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\plugins\plugin_manager.py", line 38, in load_plugins
    self._load_plugin_entry_point(ep)
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\plugins\plugin_manager.py", line 76, in _load_plugin_entry_point
    plugin = ep.load()  # type: ignore[no-untyped-call]
             ^^^^^^^^^
  File "~\.pyenv\pyenv-win\versions\3.11.5\Lib\importlib\metadata\__init__.py", line 202, in load
    module = import_module(match.group('module'))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~\.pyenv\pyenv-win\versions\3.11.5\Lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry_plugin_export\plugins.py", line 7, in <module>
    from poetry_plugin_export.command import ExportCommand
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry_plugin_export\command.py", line 12, in <module>
    from poetry_plugin_export.exporter import Exporter
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry_plugin_export\exporter.py", line 11, in <module>
    from poetry.repositories.http_repository import HTTPRepository
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\repositories\__init__.py", line 4, in <module>
    from poetry.repositories.repository_pool import RepositoryPool
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\repositories\repository_pool.py", line 15, in <module>
    from poetry.utils.cache import ArtifactCache
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\utils\cache.py", line 21, in <module>
    from poetry.utils.helpers import get_highest_priority_hash_type
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\utils\helpers.py", line 23, in <module>
    import requests
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\requests\__init__.py", line 45, in <module>
    from .exceptions import RequestsDependencyWarning
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\requests\exceptions.py", line 9, in <module>
    from .compat import JSONDecodeError as CompatJSONDecodeError
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\requests\compat.py", line 13, in <module>
    import charset_normalizer as chardet
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\charset_normalizer\__init__.py", line 24, in <module>
    from .api import from_bytes, from_fp, from_path, is_binary
ModuleNotFoundError: No module named 'charset_normalizer.api'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\requests\compat.py", line 11, in <module>
    import chardet
ModuleNotFoundError: No module named 'chardet'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "~\AppData\Roaming\pypoetry\venv\Scripts\poetry.exe\__main__.py", line 7, in <module>
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\console\application.py", line 411, in main
    exit_code: int = Application().run()
                     ^^^^^^^^^^^^^^^^^^^
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\cleo\application.py", line 338, in run
    self.render_error(e, io)
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\console\application.py", line 180, in render_error
    self.set_solution_provider_repository(self._get_solution_provider_repository())
                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\console\application.py", line 400, in _get_solution_provider_repository
    from poetry.mixology.solutions.providers.python_requirement_solution_provider import (
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\mixology\solutions\providers\__init__.py", line 3, in <module>
    from poetry.mixology.solutions.providers.python_requirement_solution_provider import (
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\mixology\solutions\providers\python_requirement_solution_provider.py", line 9, in <module>
    from poetry.puzzle.exceptions import SolverProblemError
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\puzzle\__init__.py", line 3, in <module>
    from poetry.puzzle.solver import Solver
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\puzzle\solver.py", line 16, in <module>
    from poetry.puzzle.provider import Indicator
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\puzzle\provider.py", line 27, in <module>
    from poetry.packages.direct_origin import DirectOrigin
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\packages\direct_origin.py", line 10, in <module>
    from poetry.inspection.info import PackageInfo
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\inspection\info.py", line 26, in <module>
    from poetry.utils.env import EnvCommandError
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\utils\env\__init__.py", line 9, in <module>
    from poetry.utils.env.base_env import Env
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\utils\env\base_env.py", line 18, in <module>
    from poetry.utils.env.site_packages import SitePackages
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\utils\env\site_packages.py", line 11, in <module>
    from poetry.utils.helpers import is_dir_writable
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\utils\helpers.py", line 23, in <module>
    import requests
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\requests\__init__.py", line 45, in <module>
    from .exceptions import RequestsDependencyWarning
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\requests\exceptions.py", line 9, in <module>
    from .compat import JSONDecodeError as CompatJSONDecodeError
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\requests\compat.py", line 13, in <module>
    import charset_normalizer as chardet
  File "~\AppData\Roaming\pypoetry\venv\Lib\site-packages\charset_normalizer\__init__.py", line 24, in <module>
    from .api import from_bytes, from_fp, from_path, is_binary
ModuleNotFoundError: No module named 'charset_normalizer.api'

I have tried setting PATH and POETRY_HOME env variables to old folders, but it still doesn't work. the v2 works even with these variables set to old paths.

why doesn't it find those modules?

I also use pyenv-win, is that the problem?

developer992 avatar May 05 '25 07:05 developer992

this folder is empty ~\AppData\Roaming\Python\Python311\site-packages

but this one has packages installed ~\AppData\Roaming\pypoetry\venv\Lib\site-packages

developer992 avatar May 05 '25 07:05 developer992

You have raised this as a docs bug, but what you have done has no basis in the documentation.

Suggest uninstalling everything and trying again, but this time follow the installation instructions in the docs.

dimbleby avatar May 05 '25 07:05 dimbleby

i need two versions because of breaking changes in toml file, i have a bunch of projects on older version but wanted to get on with times and upgrade to v2

i guess this was a mistake

developer992 avatar May 05 '25 07:05 developer992

Please read the documentation

pipx can also install versions of Poetry in parallel ...

dimbleby avatar May 05 '25 07:05 dimbleby