From f5524e7a13acffaa313e76be984000b865d7ca8f Mon Sep 17 00:00:00 2001
From: David Hotham <david.hotham@blueyonder.co.uk>
Date: Sun, 21 May 2023 00:40:57 +0100
Subject: [PATCH] fix check for in-project-venv

---
 src/poetry/utils/env.py | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/poetry/utils/env.py b/src/poetry/utils/env.py
index 007d386398b..41981724299 100644
--- a/src/poetry/utils/env.py
+++ b/src/poetry/utils/env.py
@@ -695,7 +695,7 @@ def get(self, reload: bool = False) -> Env:
 
         if not in_venv or env is not None:
             # Checking if a local virtualenv exists
-            if self.use_in_project_venv():
+            if self.in_project_venv_exists():
                 venv = self.in_project_venv
 
                 return VirtualEnv(venv)
@@ -733,7 +733,7 @@ def list(self, name: str | None = None) -> list[VirtualEnv]:
         venv_path = self._poetry.config.virtualenvs_path
         env_list = [VirtualEnv(p) for p in sorted(venv_path.glob(f"{venv_name}-py*"))]
 
-        if self.use_in_project_venv():
+        if self.in_project_venv_exists():
             venv = self.in_project_venv
             env_list.insert(0, VirtualEnv(venv))
         return env_list
@@ -852,6 +852,14 @@ def use_in_project_venv(self) -> bool:
         in_project: bool | None = self._poetry.config.get("virtualenvs.in-project")
         if in_project is not None:
             return in_project
+
+        return self.in_project_venv.is_dir()
+
+    def in_project_venv_exists(self) -> bool:
+        in_project: bool | None = self._poetry.config.get("virtualenvs.in-project")
+        if in_project is False:
+            return False
+
         return self.in_project_venv.is_dir()
 
     def create_venv(