Skip to content

All poetry commands fail with [Errno 2] No such file or directory: 'python' #6841

@edufresne

Description

@edufresne

Environment Information

  • Poetry version: Poetry (version 1.2.2)
  • Python version: Python 3.10.8
  • OS version and name: MacOS 12.6
  • pyproject.toml:
[tool.poetry]
name = "my-project"
version = "1.0.0"
readme = "README.md"

[tool.poetry.dependencies]
python = "^3.9"
Flask = "^2.2.2"
weasyprint = "^56.1"
gunicorn = "^20.1.0"
Werkzeug = "^2.2.2"

[tool.poetry.group.dev.dependencies]
black = "^22.8.0"
pytest = "^7.1.3"
coverage = "^6.4.4"
isort = "^5.10.1"
pip-audit = "^2.4.4"
autoflake = "^1.6.1"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.black]
line-length = 120
include = '\.pyi?$'
known_first_party = ["app", "tests"]
exclude='(\.eggs|\.git|\.idea|\.pytest_cache|venv|build|dist|logs)'

[tool.pytest.ini_options]
log_cli = true

[tool.coverage.run]
branch = true
source = ["app"]
command_line = "-m pytest tests --junitxml reports/test.xml --durations 0 --verbose"

[tool.coverage.xml]
output = "reports/coverage.xml"

[tool.coverage.html]
directory = "reports/coverage_html"

[tool.autoflake]
recursive = true
remove-all-unused-imports = true
remove-unused-variables = true
ignore-init-module-imports = true
exclude = ".git,.idea,.pytest_cache,__pycache__,logs,static,test/reports,venv"
  • I am on the latest stable Poetry version, installed using a recommended method.
  • I have searched the issues of this repo and believe that this is not a duplicate. Related ticket but with no solution found and for different OS
  • I have consulted the FAQ and blog for any relevant entries or release notes.
  • If an exception occurs when executing a command, I executed it again in debug mode (-vvv option) and have included the output below.

Stack Trace

Loading configuration file /Users/ericdufresne/Library/Preferences/pypoetry/config.toml
Loading configuration file /Users/ericdufresne/Library/Preferences/pypoetry/auth.toml

  Stack trace:

  17  /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cleo/application.py:329 in run
       327│ 
       328│             try:
     → 329│                 exit_code = self._run(io)
       330│             except Exception as e:
       331│                 if not self._catch_exceptions:

  16  /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/poetry/console/application.py:185 in _run
       183│         self._load_plugins(io)
       184│ 
     → 185│         exit_code: int = super()._run(io)
       186│         return exit_code
       187│ 

  15  /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cleo/application.py:423 in _run
       421│             io.input.set_stream(stream)
       422│ 
     → 423│         exit_code = self._run_command(command, io)
       424│         self._running_command = None
       425│ 

  14  /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cleo/application.py:465 in _run_command
       463│ 
       464│         if error is not None:
     → 465│             raise error
       466│ 
       467│         return event.exit_code

  13  /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cleo/application.py:446 in _run_command
       444│ 
       445│         try:
     → 446│             self._event_dispatcher.dispatch(event, COMMAND)
       447│ 
       448│             if event.command_should_run():

  12  /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cleo/events/event_dispatcher.py:23 in dispatch
        21│ 
        22│         if listeners:
     →  23│             self._do_dispatch(listeners, event_name, event)
        24│ 
        25│         return event

  11  /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cleo/events/event_dispatcher.py:84 in _do_dispatch
        82│                 break
        83│ 
     →  84│             listener(event, event_name, self)
        85│ 
        86│     def _sort_listeners(self, event_name: str) -> None:

  10  /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/poetry/console/application.py:294 in configure_env
       292│ 
       293│         env_manager = EnvManager(poetry)
     → 294│         env = env_manager.create_venv(io)
       295│ 
       296│         if env.is_venv() and io.is_verbose():

   9  /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/poetry/utils/env.py:833 in create_venv
        831│ 
        832│         cwd = self._poetry.file.parent
     →  833│         env = self.get(reload=True)
        834│ 
        835│         if not env.is_sane():

   8  /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/poetry/utils/env.py:711 in get
        709│                 return self.get_system_env()
        710│ 
     →  711│             return VirtualEnv(venv)
        712│ 
        713│         if env_prefix is not None:

   7  /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/poetry/utils/env.py:1652 in __init__
       1650│         # from inside the virtualenv.
       1651│         if base is None:
     → 1652│             output = self.run_python_script(GET_BASE_PREFIX)
       1653│             assert isinstance(output, str)
       1654│             self._base = Path(output.strip())

   6  /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/poetry/utils/env.py:1438 in run_python_script
       1436│ 
       1437│     def run_python_script(self, content: str, **kwargs: Any) -> int | str:
     → 1438│         return self.run(self._executable, "-W", "ignore", "-", input_=content, **kwargs)
       1439│ 
       1440│     def _run(self, cmd: list[str], **kwargs: Any) -> int | str:

   5  /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/poetry/utils/env.py:1430 in run
       1428│     def run(self, bin: str, *args: str, **kwargs: Any) -> str | int:
       1429│         cmd = self.get_command_from_bin(bin) + list(args)
     → 1430│         return self._run(cmd, **kwargs)
       1431│ 
       1432│     def run_pip(self, *args: str, **kwargs: Any) -> int | str:

   4  /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/poetry/utils/env.py:1712 in _run
       1710│     def _run(self, cmd: list[str], **kwargs: Any) -> int | str:
       1711│         kwargs["env"] = self.get_temp_environ(environ=kwargs.get("env"))
     → 1712│         return super()._run(cmd, **kwargs)
       1713│ 
       1714│     def get_temp_environ(

   3  /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/poetry/utils/env.py:1459 in _run
       1457│ 
       1458│             if input_:
     → 1459│                 output = subprocess.run(
       1460│                     command,
       1461│                     stdout=subprocess.PIPE,

   2  /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/subprocess.py:503 in run
        501│         kwargs['stderr'] = PIPE
        502│ 
     →  503│     with Popen(*popenargs, **kwargs) as process:
        504│         try:
        505│             stdout, stderr = process.communicate(input, timeout=timeout)

   1  /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/subprocess.py:971 in __init__
        969│                             encoding=encoding, errors=errors)
        970│ 
     →  971│             self._execute_child(args, executable, preexec_fn, close_fds,
        972│                                 pass_fds, cwd, env,
        973│                                 startupinfo, creationflags, shell,

  FileNotFoundError

  [Errno 2] No such file or directory: 'python'

  at /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/subprocess.py:1847 in _execute_child
      1843│                     else:
      1844│                         err_filename = orig_executable
      1845│                     if errno_num != 0:
      1846│                         err_msg = os.strerror(errno_num)
    → 1847│                     raise child_exception_type(errno_num, err_msg, err_filename)
      1848│                 raise child_exception_type(err_msg)
      1849│ 
      1850│ 
      1851│         def _handle_exitstatus(self, sts,

Extra Info

  • Python location /Library/Frameworks/Python.framework/Versions/3.10/bin/python3
  • Poetry location /Library/Frameworks/Python.framework/Versions/3.10/bin/poetry

Issue

Hello. I am trying to use Poetry for mac with Python 3.10. It was working before but I re-installed both Python and poetry and I can't seem to get it to work. I can run commands like poetry --version but commands such as poetry install poetry lock poetry show all faill with [Errno 2] No such file or directory: 'python' and the above stack trace on debug mode.

I have tried installing Poetry both with curl -sSL https://install.python-poetry.org | python3 - as well as the manual way with pip3 install poetry. My Python is installed via the regular Python.org .pkg installer for MacOS but I had it installed with homebrew before which also suffered from the same issue.

Thank you in advance for the help!

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/questionUser questions (candidates for conversion to discussion)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions